home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgramD2.iso / Borland / Borland C++ V5.02 / MSINC.PAK / OAIDL.H < prev    next >
C/C++ Source or Header  |  1997-05-06  |  198KB  |  5,990 lines

  1. #pragma option -b
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3.  
  4.  
  5. /* File created by MIDL compiler version 3.00.39 */
  6. /* at Sat Jul 13 21:56:52 1996
  7.  */
  8. /* Compiler settings for c:\oa\src\idl\oaidl.idl:
  9.     Oicf (OptLev=i2), W1, Zp8, env=Win32, ms_ext, c_ext
  10.     error checks: allocation ref bounds_check enum stub_data 
  11. */
  12. //@@MIDL_FILE_HEADING(  )
  13. #pragma option -b.
  14. #include "rpc.h"
  15. #pragma option -b
  16. #pragma option -b.
  17. #include "rpcndr.h"
  18. #pragma option -b
  19. #ifndef COM_NO_WINDOWS_H
  20. #pragma option -b.
  21. #include "windows.h"
  22. #pragma option -b
  23. #pragma option -b.
  24. #include "ole2.h"
  25. #pragma option -b
  26. #endif /*COM_NO_WINDOWS_H*/
  27.  
  28. #ifndef __oaidl_h__
  29. #define __oaidl_h__
  30.  
  31. #ifdef __cplusplus
  32. #define _FORCENAMELESSUNION
  33. extern "C"{
  34. #endif 
  35.  
  36. /* Forward Declarations */ 
  37.  
  38. #ifndef __ICreateTypeInfo_FWD_DEFINED__
  39. #define __ICreateTypeInfo_FWD_DEFINED__
  40. typedef interface ICreateTypeInfo ICreateTypeInfo;
  41. #endif     /* __ICreateTypeInfo_FWD_DEFINED__ */
  42.  
  43.  
  44. #ifndef __ICreateTypeInfo2_FWD_DEFINED__
  45. #define __ICreateTypeInfo2_FWD_DEFINED__
  46. typedef interface ICreateTypeInfo2 ICreateTypeInfo2;
  47. #endif     /* __ICreateTypeInfo2_FWD_DEFINED__ */
  48.  
  49.  
  50. #ifndef __ICreateTypeLib_FWD_DEFINED__
  51. #define __ICreateTypeLib_FWD_DEFINED__
  52. typedef interface ICreateTypeLib ICreateTypeLib;
  53. #endif     /* __ICreateTypeLib_FWD_DEFINED__ */
  54.  
  55.  
  56. #ifndef __ICreateTypeLib2_FWD_DEFINED__
  57. #define __ICreateTypeLib2_FWD_DEFINED__
  58. typedef interface ICreateTypeLib2 ICreateTypeLib2;
  59. #endif     /* __ICreateTypeLib2_FWD_DEFINED__ */
  60.  
  61.  
  62. #ifndef __IDispatch_FWD_DEFINED__
  63. #define __IDispatch_FWD_DEFINED__
  64. typedef interface IDispatch IDispatch;
  65. #endif     /* __IDispatch_FWD_DEFINED__ */
  66.  
  67.  
  68. #ifndef __IEnumVARIANT_FWD_DEFINED__
  69. #define __IEnumVARIANT_FWD_DEFINED__
  70. typedef interface IEnumVARIANT IEnumVARIANT;
  71. #endif     /* __IEnumVARIANT_FWD_DEFINED__ */
  72.  
  73.  
  74. #ifndef __ITypeComp_FWD_DEFINED__
  75. #define __ITypeComp_FWD_DEFINED__
  76. typedef interface ITypeComp ITypeComp;
  77. #endif     /* __ITypeComp_FWD_DEFINED__ */
  78.  
  79.  
  80. #ifndef __ITypeInfo_FWD_DEFINED__
  81. #define __ITypeInfo_FWD_DEFINED__
  82. typedef interface ITypeInfo ITypeInfo;
  83. #endif     /* __ITypeInfo_FWD_DEFINED__ */
  84.  
  85.  
  86. #ifndef __ITypeInfo2_FWD_DEFINED__
  87. #define __ITypeInfo2_FWD_DEFINED__
  88. typedef interface ITypeInfo2 ITypeInfo2;
  89. #endif     /* __ITypeInfo2_FWD_DEFINED__ */
  90.  
  91.  
  92. #ifndef __ITypeLib_FWD_DEFINED__
  93. #define __ITypeLib_FWD_DEFINED__
  94. typedef interface ITypeLib ITypeLib;
  95. #endif     /* __ITypeLib_FWD_DEFINED__ */
  96.  
  97.  
  98. #ifndef __ITypeLib2_FWD_DEFINED__
  99. #define __ITypeLib2_FWD_DEFINED__
  100. typedef interface ITypeLib2 ITypeLib2;
  101. #endif     /* __ITypeLib2_FWD_DEFINED__ */
  102.  
  103.  
  104. #ifndef __ITypeChangeEvents_FWD_DEFINED__
  105. #define __ITypeChangeEvents_FWD_DEFINED__
  106. typedef interface ITypeChangeEvents ITypeChangeEvents;
  107. #endif     /* __ITypeChangeEvents_FWD_DEFINED__ */
  108.  
  109.  
  110. #ifndef __IErrorInfo_FWD_DEFINED__
  111. #define __IErrorInfo_FWD_DEFINED__
  112. typedef interface IErrorInfo IErrorInfo;
  113. #endif     /* __IErrorInfo_FWD_DEFINED__ */
  114.  
  115.  
  116. #ifndef __ICreateErrorInfo_FWD_DEFINED__
  117. #define __ICreateErrorInfo_FWD_DEFINED__
  118. typedef interface ICreateErrorInfo ICreateErrorInfo;
  119. #endif     /* __ICreateErrorInfo_FWD_DEFINED__ */
  120.  
  121.  
  122. #ifndef __ISupportErrorInfo_FWD_DEFINED__
  123. #define __ISupportErrorInfo_FWD_DEFINED__
  124. typedef interface ISupportErrorInfo ISupportErrorInfo;
  125. #endif     /* __ISupportErrorInfo_FWD_DEFINED__ */
  126.  
  127.  
  128. /* header files for imported files */
  129. #pragma option -b.
  130. #include "objidl.h"
  131. #pragma option -b
  132.  
  133. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  134. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  135.  
  136. /****************************************
  137.  * Generated header for interface: __MIDL__intf_0000
  138.  * at Sat Jul 13 21:56:52 1996
  139.  * using MIDL 3.00.39
  140.  ****************************************/
  141. /* [local] */ 
  142.  
  143.  
  144. //+-------------------------------------------------------------------------
  145. //
  146. //  Microsoft Windows
  147. //  Copyright (C) Microsoft Corporation, 1992 - 1996.
  148. //
  149. //--------------------------------------------------------------------------
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167. extern RPC_IF_HANDLE __MIDL__intf_0000_v0_0_c_ifspec;
  168. extern RPC_IF_HANDLE __MIDL__intf_0000_v0_0_s_ifspec;
  169.  
  170. #ifndef __IOleAutomationTypes_INTERFACE_DEFINED__
  171. #define __IOleAutomationTypes_INTERFACE_DEFINED__
  172.  
  173. /****************************************
  174.  * Generated header for interface: IOleAutomationTypes
  175.  * at Sat Jul 13 21:56:52 1996
  176.  * using MIDL 3.00.39
  177.  ****************************************/
  178. /* [auto_handle][unique][version] */ 
  179.  
  180.  
  181. typedef CY CURRENCY;
  182.  
  183. typedef struct  tagSAFEARRAYBOUND
  184.     {
  185.     ULONG cElements;
  186.     LONG lLbound;
  187.     }    SAFEARRAYBOUND;
  188.  
  189. typedef struct tagSAFEARRAYBOUND __RPC_FAR *LPSAFEARRAYBOUND;
  190.  
  191. #if defined(_OLEAUT32_)
  192. /* the following is what MIDL knows how to remote */
  193. typedef /* [unique] */ struct _wireVARIANT __RPC_FAR *wireVARIANT;
  194.  
  195. typedef struct  _wireSAFEARR_BSTR
  196.     {
  197.     ULONG Size;
  198.     /* [ref][size_is] */ wireBSTR __RPC_FAR *aBstr;
  199.     }    SAFEARR_BSTR;
  200.  
  201. typedef struct  _wireSAFEARR_UNKNOWN
  202.     {
  203.     ULONG Size;
  204.     /* [ref][size_is] */ IUnknown __RPC_FAR *__RPC_FAR *apUnknown;
  205.     }    SAFEARR_UNKNOWN;
  206.  
  207. typedef struct  _wireSAFEARR_DISPATCH
  208.     {
  209.     ULONG Size;
  210.     /* [ref][size_is] */ IDispatch __RPC_FAR *__RPC_FAR *apDispatch;
  211.     }    SAFEARR_DISPATCH;
  212.  
  213. typedef struct  _wireSAFEARR_VARIANT
  214.     {
  215.     ULONG Size;
  216.     /* [ref][size_is] */ wireVARIANT __RPC_FAR *aVariant;
  217.     }    SAFEARR_VARIANT;
  218.  
  219. typedef /* [v1_enum] */ 
  220. enum tagSF_TYPE
  221.     {    SF_ERROR    = VT_ERROR,
  222.     SF_I1    = VT_I1,
  223.     SF_I2    = VT_I2,
  224.     SF_I4    = VT_I4,
  225.     SF_I8    = VT_I8,
  226.     SF_BSTR    = VT_BSTR,
  227.     SF_UNKNOWN    = VT_UNKNOWN,
  228.     SF_DISPATCH    = VT_DISPATCH,
  229.     SF_VARIANT    = VT_VARIANT
  230.     }    SF_TYPE;
  231.  
  232. typedef struct  _wireSAFEARRAY_UNION
  233.     {
  234.     ULONG sfType;
  235.     /* [switch_is] */ /* [switch_type] */ union __MIDL_IOleAutomationTypes_0001
  236.         {
  237.         /* [case()] */ SAFEARR_BSTR BstrStr;
  238.         /* [case()] */ SAFEARR_UNKNOWN UnknownStr;
  239.         /* [case()] */ SAFEARR_DISPATCH DispatchStr;
  240.         /* [case()] */ SAFEARR_VARIANT VariantStr;
  241.         /* [case()] */ BYTE_SIZEDARR ByteStr;
  242.         /* [case()] */ WORD_SIZEDARR WordStr;
  243.         /* [case()] */ DWORD_SIZEDARR LongStr;
  244.         /* [case()] */ HYPER_SIZEDARR HyperStr;
  245.         /* [default] */  /* Empty union arm */ 
  246.         }    u;
  247.     }    SAFEARRAYUNION;
  248.  
  249. typedef /* [unique] */ struct  _wireSAFEARRAY
  250.     {
  251.     USHORT cDims;
  252.     USHORT fFeatures;
  253.     ULONG cbElements;
  254.     ULONG cLocks;
  255.     SAFEARRAYUNION uArrayStructs;
  256.     /* [size_is] */ SAFEARRAYBOUND rgsabound[ 1 ];
  257.     }    __RPC_FAR *wireSAFEARRAY;
  258.  
  259. typedef /* [unique] */ wireSAFEARRAY __RPC_FAR *wirePSAFEARRAY;
  260.  
  261. #endif /* _OLEAUT32_ */
  262. typedef struct  tagSAFEARRAY
  263.     {
  264.     USHORT cDims;
  265.     USHORT fFeatures;
  266.     ULONG cbElements;
  267.     ULONG cLocks;
  268.     PVOID pvData;
  269.     SAFEARRAYBOUND rgsabound[ 1 ];
  270.     }    SAFEARRAY;
  271.  
  272. typedef /* [wire_marshal] */ SAFEARRAY __RPC_FAR *LPSAFEARRAY;
  273.  
  274. #define    FADF_AUTO    ( 0x1 )
  275.  
  276. #define    FADF_STATIC    ( 0x2 )
  277.  
  278. #define    FADF_EMBEDDED    ( 0x4 )
  279.  
  280. #define    FADF_FIXEDSIZE    ( 0x10 )
  281.  
  282. #define    FADF_BSTR    ( 0x100 )
  283.  
  284. #define    FADF_UNKNOWN    ( 0x200 )
  285.  
  286. #define    FADF_DISPATCH    ( 0x400 )
  287.  
  288. #define    FADF_VARIANT    ( 0x800 )
  289.  
  290. #define    FADF_RESERVED    ( 0xf0e8 )
  291.  
  292. /* VARIANT STRUCTURE
  293.  *
  294.  *  VARTYPE vt;
  295.  *  WORD wReserved1;
  296.  *  WORD wReserved2;
  297.  *  WORD wReserved3;
  298.  *  union {
  299.  *    LONG           VT_I4
  300.  *    BYTE           VT_UI1
  301.  *    SHORT          VT_I2
  302.  *    FLOAT          VT_R4
  303.  *    DOUBLE         VT_R8
  304.  *    VARIANT_BOOL   VT_BOOL
  305.  *    SCODE          VT_ERROR
  306.  *    CY             VT_CY
  307.  *    DATE           VT_DATE
  308.  *    BSTR           VT_BSTR
  309.  *    IUnknown *     VT_UNKNOWN
  310.  *    IDispatch *    VT_DISPATCH
  311.  *    SAFEARRAY *    VT_ARRAY
  312.  *    BYTE *         VT_BYREF|VT_UI1
  313.  *    SHORT *        VT_BYREF|VT_I2
  314.  *    LONG *         VT_BYREF|VT_I4
  315.  *    FLOAT *        VT_BYREF|VT_R4
  316.  *    DOUBLE *       VT_BYREF|VT_R8
  317.  *    VARIANT_BOOL * VT_BYREF|VT_BOOL
  318.  *    SCODE *        VT_BYREF|VT_ERROR
  319.  *    CY *           VT_BYREF|VT_CY
  320.  *    DATE *         VT_BYREF|VT_DATE
  321.  *    BSTR *         VT_BYREF|VT_BSTR
  322.  *    IUnknown **    VT_BYREF|VT_UNKNOWN
  323.  *    IDispatch **   VT_BYREF|VT_DISPATCH
  324.  *    SAFEARRAY **   VT_BYREF|VT_ARRAY
  325.  *    VARIANT *      VT_BYREF|VT_VARIANT
  326.  *    PVOID          VT_BYREF (Generic ByRef)
  327.  *    CHAR           VT_I1
  328.  *    USHORT         VT_UI2
  329.  *    ULONG          VT_UI4
  330.  *    INT            VT_INT
  331.  *    UINT           VT_UINT
  332.  *    DECIMAL *      VT_BYREF|VT_DECIMAL
  333.  *    CHAR *         VT_BYREF|VT_I1
  334.  *    USHORT *       VT_BYREF|VT_UI2
  335.  *    ULONG *        VT_BYREF|VT_UI4
  336.  *    INT *          VT_BYREF|VT_INT
  337.  *    UINT *         VT_BYREF|VT_UINT
  338.  *  }
  339.  */
  340. #if (__STDC__ || !defined(_FORCENAMELESSUNION)) || defined(NONAMELESSUNION)
  341. #define __VARIANT_NAME_1 n1
  342. #define __VARIANT_NAME_2 n2
  343. #define __VARIANT_NAME_3 n3
  344. #else
  345. #define __tagVARIANT
  346. #define __VARIANT_NAME_1
  347. #define __VARIANT_NAME_2
  348. #define __VARIANT_NAME_3
  349. #endif
  350. typedef /* [wire_marshal] */ struct tagVARIANT VARIANT;
  351.  
  352. #if defined(_FORCENAMELESSUNION)
  353. #pragma anon_struct on
  354. #endif
  355. struct  tagVARIANT
  356.     {
  357.     union 
  358.         {
  359.         struct  __tagVARIANT
  360.             {
  361.             VARTYPE vt;
  362.             WORD wReserved1;
  363.             WORD wReserved2;
  364.             WORD wReserved3;
  365.             union
  366.                 {
  367.                 LONG lVal;
  368.                 BYTE bVal;
  369.                 SHORT iVal;
  370.                 FLOAT fltVal;
  371.                 DOUBLE dblVal;
  372.                 VARIANT_BOOL boolVal;
  373. #if !defined (__BORLANDC__)
  374.                 _VARIANT_BOOL bool;
  375. #endif
  376.                 SCODE scode;
  377.                 CY cyVal;
  378.                 DATE date;
  379.                 BSTR bstrVal;
  380.                 IUnknown __RPC_FAR *punkVal;
  381.                 IDispatch __RPC_FAR *pdispVal;
  382.                 SAFEARRAY __RPC_FAR *parray;
  383.                 BYTE __RPC_FAR *pbVal;
  384.                 SHORT __RPC_FAR *piVal;
  385.                 LONG __RPC_FAR *plVal;
  386.                 FLOAT __RPC_FAR *pfltVal;
  387.                 DOUBLE __RPC_FAR *pdblVal;
  388.                 VARIANT_BOOL __RPC_FAR *pboolVal;
  389.                 _VARIANT_BOOL __RPC_FAR *pbool;
  390.                 SCODE __RPC_FAR *pscode;
  391.                 CY __RPC_FAR *pcyVal;
  392.                 DATE __RPC_FAR *pdate;
  393.                 BSTR __RPC_FAR *pbstrVal;
  394.                 IUnknown __RPC_FAR *__RPC_FAR *ppunkVal;
  395.                 IDispatch __RPC_FAR *__RPC_FAR *ppdispVal;
  396.                 SAFEARRAY __RPC_FAR *__RPC_FAR *pparray;
  397.                 VARIANT __RPC_FAR *pvarVal;
  398.                 PVOID byref;
  399.                 CHAR cVal;
  400.                 USHORT uiVal;
  401.                 ULONG ulVal;
  402.                 INT intVal;
  403.                 UINT uintVal;
  404.                 DECIMAL __RPC_FAR *pdecVal;
  405.                 CHAR __RPC_FAR *pcVal;
  406.                 USHORT __RPC_FAR *puiVal;
  407.                 ULONG __RPC_FAR *pulVal;
  408.                 INT __RPC_FAR *pintVal;
  409.                 UINT __RPC_FAR *puintVal;
  410.                 }    __VARIANT_NAME_3;
  411.             }    __VARIANT_NAME_2;
  412.         DECIMAL decVal;
  413.         }    __VARIANT_NAME_1;
  414.     };
  415. #if defined(_FORCENAMELESSUNION)
  416. #pragma anon_struct off
  417. #endif
  418.  
  419. typedef VARIANT __RPC_FAR *LPVARIANT;
  420.  
  421. typedef VARIANT VARIANTARG;
  422.  
  423. typedef VARIANT __RPC_FAR *LPVARIANTARG;
  424.  
  425. #if defined(_OLEAUT32_)
  426. /* the following is what MIDL knows how to remote */
  427. struct  _wireVARIANT
  428.     {
  429.     DWORD clSize;
  430.     DWORD rpcReserved;
  431.     USHORT vt;
  432.     USHORT wReserved1;
  433.     USHORT wReserved2;
  434.     USHORT wReserved3;
  435.     /* [switch_is][switch_type] */ union 
  436.         {
  437.         /* [case()] */ LONG lVal;
  438.         /* [case()] */ BYTE bVal;
  439.         /* [case()] */ SHORT iVal;
  440.         /* [case()] */ FLOAT fltVal;
  441.         /* [case()] */ DOUBLE dblVal;
  442.         /* [case()] */ VARIANT_BOOL boolVal;
  443.         /* [case()] */ SCODE scode;
  444.         /* [case()] */ CY cyVal;
  445.         /* [case()] */ DATE date;
  446.         /* [case()] */ wireBSTR bstrVal;
  447.         /* [case()] */ IUnknown __RPC_FAR *punkVal;
  448.         /* [case()] */ IDispatch __RPC_FAR *pdispVal;
  449.         /* [case()] */ wireSAFEARRAY parray;
  450.         /* [case()] */ BYTE __RPC_FAR *pbVal;
  451.         /* [case()] */ SHORT __RPC_FAR *piVal;
  452.         /* [case()] */ LONG __RPC_FAR *plVal;
  453.         /* [case()] */ FLOAT __RPC_FAR *pfltVal;
  454.         /* [case()] */ DOUBLE __RPC_FAR *pdblVal;
  455.         /* [case()] */ VARIANT_BOOL __RPC_FAR *pboolVal;
  456.         /* [case()] */ SCODE __RPC_FAR *pscode;
  457.         /* [case()] */ CY __RPC_FAR *pcyVal;
  458.         /* [case()] */ DATE __RPC_FAR *pdate;
  459.         /* [case()] */ wireBSTR __RPC_FAR *pbstrVal;
  460.         /* [case()] */ IUnknown __RPC_FAR *__RPC_FAR *ppunkVal;
  461.         /* [case()] */ IDispatch __RPC_FAR *__RPC_FAR *ppdispVal;
  462.         /* [case()] */ wireSAFEARRAY __RPC_FAR *pparray;
  463.         /* [case()] */ wireVARIANT __RPC_FAR *pvarVal;
  464.         /* [case()] */ CHAR cVal;
  465.         /* [case()] */ USHORT uiVal;
  466.         /* [case()] */ ULONG ulVal;
  467.         /* [case()] */ INT intVal;
  468.         /* [case()] */ UINT uintVal;
  469.         /* [case()] */ DECIMAL decVal;
  470.         /* [case()] */ DECIMAL __RPC_FAR *pdecVal;
  471.         /* [case()] */ CHAR __RPC_FAR *pcVal;
  472.         /* [case()] */ USHORT __RPC_FAR *puiVal;
  473.         /* [case()] */ ULONG __RPC_FAR *pulVal;
  474.         /* [case()] */ INT __RPC_FAR *pintVal;
  475.         /* [case()] */ UINT __RPC_FAR *puintVal;
  476.         /* [case()] */  /* Empty union arm */ 
  477.         /* [case()] */  /* Empty union arm */ 
  478.         }    ;
  479.     };
  480. #endif /* _OLEAUT32_ */
  481. typedef LONG DISPID;
  482.  
  483. typedef DISPID MEMBERID;
  484.  
  485. typedef DWORD HREFTYPE;
  486.  
  487. typedef /* [v1_enum] */ 
  488. enum tagTYPEKIND
  489.     {    TKIND_ENUM    = 0,
  490.     TKIND_RECORD    = TKIND_ENUM + 1,
  491.     TKIND_MODULE    = TKIND_RECORD + 1,
  492.     TKIND_INTERFACE    = TKIND_MODULE + 1,
  493.     TKIND_DISPATCH    = TKIND_INTERFACE + 1,
  494.     TKIND_COCLASS    = TKIND_DISPATCH + 1,
  495.     TKIND_ALIAS    = TKIND_COCLASS + 1,
  496.     TKIND_UNION    = TKIND_ALIAS + 1,
  497.     TKIND_MAX    = TKIND_UNION + 1
  498.     }    TYPEKIND;
  499.  
  500. typedef struct  tagTYPEDESC
  501.     {
  502.     /* [switch_is][switch_type] */ union 
  503.         {
  504.         /* [case()] */ struct tagTYPEDESC __RPC_FAR *lptdesc;
  505.         /* [case()] */ struct tagARRAYDESC __RPC_FAR *lpadesc;
  506.         /* [case()] */ HREFTYPE hreftype;
  507.         /* [default] */  /* Empty union arm */ 
  508.         }    ;
  509.     VARTYPE vt;
  510.     }    TYPEDESC;
  511.  
  512. typedef struct  tagARRAYDESC
  513.     {
  514.     TYPEDESC tdescElem;
  515.     USHORT cDims;
  516.     /* [size_is] */ SAFEARRAYBOUND rgbounds[ 1 ];
  517.     }    ARRAYDESC;
  518.  
  519. typedef struct  tagPARAMDESCEX
  520.     {
  521.     ULONG cBytes;
  522.     VARIANTARG varDefaultValue;
  523.     }    PARAMDESCEX;
  524.  
  525. typedef struct tagPARAMDESCEX __RPC_FAR *LPPARAMDESCEX;
  526.  
  527. typedef struct  tagPARAMDESC
  528.     {
  529.     LPPARAMDESCEX pparamdescex;
  530.     USHORT wParamFlags;
  531.     }    PARAMDESC;
  532.  
  533. typedef struct tagPARAMDESC __RPC_FAR *LPPARAMDESC;
  534.  
  535. #define    PARAMFLAG_NONE    ( 0 )
  536.  
  537. #define    PARAMFLAG_FIN    ( 0x1 )
  538.  
  539. #define    PARAMFLAG_FOUT    ( 0x2 )
  540.  
  541. #define    PARAMFLAG_FLCID    ( 0x4 )
  542.  
  543. #define    PARAMFLAG_FRETVAL    ( 0x8 )
  544.  
  545. #define    PARAMFLAG_FOPT    ( 0x10 )
  546.  
  547. #define    PARAMFLAG_FHASDEFAULT    ( 0x20 )
  548.  
  549. typedef struct  tagIDLDESC
  550.     {
  551.     ULONG dwReserved;
  552.     USHORT wIDLFlags;
  553.     }    IDLDESC;
  554.  
  555. typedef struct tagIDLDESC __RPC_FAR *LPIDLDESC;
  556.  
  557. #define    IDLFLAG_NONE    ( PARAMFLAG_NONE )
  558.  
  559. #define    IDLFLAG_FIN    ( PARAMFLAG_FIN )
  560.  
  561. #define    IDLFLAG_FOUT    ( PARAMFLAG_FOUT )
  562.  
  563. #define    IDLFLAG_FLCID    ( PARAMFLAG_FLCID )
  564.  
  565. #define    IDLFLAG_FRETVAL    ( PARAMFLAG_FRETVAL )
  566.  
  567. #if 0
  568. /* the following is what MIDL knows how to remote */
  569. typedef struct  tagELEMDESC
  570.     {
  571.     TYPEDESC tdesc;
  572.     PARAMDESC paramdesc;
  573.     }    ELEMDESC;
  574.  
  575. #else /* 0 */
  576. typedef struct tagELEMDESC {
  577.     TYPEDESC tdesc;             /* the type of the element */
  578.     union {
  579.         IDLDESC idldesc;        /* info for remoting the element */
  580.         PARAMDESC paramdesc;    /* info about the parameter */
  581.     };
  582. } ELEMDESC, * LPELEMDESC;
  583. #endif /* 0 */
  584. typedef struct  tagTYPEATTR
  585.     {
  586.     GUID guid;
  587.     LCID lcid;
  588.     DWORD dwReserved;
  589.     MEMBERID memidConstructor;
  590.     MEMBERID memidDestructor;
  591.     LPOLESTR lpstrSchema;
  592.     ULONG cbSizeInstance;
  593.     TYPEKIND typekind;
  594.     WORD cFuncs;
  595.     WORD cVars;
  596.     WORD cImplTypes;
  597.     WORD cbSizeVft;
  598.     WORD cbAlignment;
  599.     WORD wTypeFlags;
  600.     WORD wMajorVerNum;
  601.     WORD wMinorVerNum;
  602.     TYPEDESC tdescAlias;
  603.     IDLDESC idldescType;
  604.     }    TYPEATTR;
  605.  
  606. typedef struct tagTYPEATTR __RPC_FAR *LPTYPEATTR;
  607.  
  608. typedef struct  tagDISPPARAMS
  609.     {
  610.     /* [size_is] */ VARIANTARG __RPC_FAR *rgvarg;
  611.     /* [size_is] */ DISPID __RPC_FAR *rgdispidNamedArgs;
  612.     UINT cArgs;
  613.     UINT cNamedArgs;
  614.     }    DISPPARAMS;
  615.  
  616. #if 0
  617. /* the following is what MIDL knows how to remote */
  618. typedef struct  tagEXCEPINFO
  619.     {
  620.     WORD wCode;
  621.     WORD wReserved;
  622.     BSTR bstrSource;
  623.     BSTR bstrDescription;
  624.     BSTR bstrHelpFile;
  625.     DWORD dwHelpContext;
  626.     ULONG pvReserved;
  627.     ULONG pfnDeferredFillIn;
  628.     SCODE scode;
  629.     }    EXCEPINFO;
  630.  
  631. #else /* 0 */
  632. typedef struct tagEXCEPINFO {
  633.     WORD  wCode;
  634.     WORD  wReserved;
  635.     BSTR  bstrSource;
  636.     BSTR  bstrDescription;
  637.     BSTR  bstrHelpFile;
  638.     DWORD dwHelpContext;
  639.     PVOID pvReserved;
  640.     HRESULT (__stdcall *pfnDeferredFillIn)(struct tagEXCEPINFO *);
  641.     SCODE scode;
  642. } EXCEPINFO, * LPEXCEPINFO;
  643. #endif /* 0 */
  644. typedef /* [v1_enum] */ 
  645. enum tagCALLCONV
  646.     {    CC_FASTCALL    = 0,
  647.     CC_CDECL    = 1,
  648.     CC_MSCPASCAL    = CC_CDECL + 1,
  649.     CC_PASCAL    = CC_MSCPASCAL,
  650.     CC_MACPASCAL    = CC_PASCAL + 1,
  651.     CC_STDCALL    = CC_MACPASCAL + 1,
  652.     CC_FPFASTCALL    = CC_STDCALL + 1,
  653.     CC_SYSCALL    = CC_FPFASTCALL + 1,
  654.     CC_MPWCDECL    = CC_SYSCALL + 1,
  655.     CC_MPWPASCAL    = CC_MPWCDECL + 1,
  656.     CC_MAX    = CC_MPWPASCAL + 1
  657.     }    CALLCONV;
  658.  
  659. typedef /* [v1_enum] */ 
  660. enum tagFUNCKIND
  661.     {    FUNC_VIRTUAL    = 0,
  662.     FUNC_PUREVIRTUAL    = FUNC_VIRTUAL + 1,
  663.     FUNC_NONVIRTUAL    = FUNC_PUREVIRTUAL + 1,
  664.     FUNC_STATIC    = FUNC_NONVIRTUAL + 1,
  665.     FUNC_DISPATCH    = FUNC_STATIC + 1
  666.     }    FUNCKIND;
  667.  
  668. typedef /* [v1_enum] */ 
  669. enum tagINVOKEKIND
  670.     {    INVOKE_FUNC    = 1,
  671.     INVOKE_PROPERTYGET    = 2,
  672.     INVOKE_PROPERTYPUT    = 4,
  673.     INVOKE_PROPERTYPUTREF    = 8
  674.     }    INVOKEKIND;
  675.  
  676. typedef struct  tagFUNCDESC
  677.     {
  678.     MEMBERID memid;
  679.     /* [size_is] */ SCODE __RPC_FAR *lprgscode;
  680.     /* [size_is] */ ELEMDESC __RPC_FAR *lprgelemdescParam;
  681.     FUNCKIND funckind;
  682.     INVOKEKIND invkind;
  683.     CALLCONV callconv;
  684.     SHORT cParams;
  685.     SHORT cParamsOpt;
  686.     SHORT oVft;
  687.     SHORT cScodes;
  688.     ELEMDESC elemdescFunc;
  689.     WORD wFuncFlags;
  690.     }    FUNCDESC;
  691.  
  692. typedef struct tagFUNCDESC __RPC_FAR *LPFUNCDESC;
  693.  
  694. typedef /* [v1_enum] */ 
  695. enum tagVARKIND
  696.     {    VAR_PERINSTANCE    = 0,
  697.     VAR_STATIC    = VAR_PERINSTANCE + 1,
  698.     VAR_CONST    = VAR_STATIC + 1,
  699.     VAR_DISPATCH    = VAR_CONST + 1
  700.     }    VARKIND;
  701.  
  702. #define    IMPLTYPEFLAG_FDEFAULT    ( 0x1 )
  703.  
  704. #define    IMPLTYPEFLAG_FSOURCE    ( 0x2 )
  705.  
  706. #define    IMPLTYPEFLAG_FRESTRICTED    ( 0x4 )
  707.  
  708. #define    IMPLTYPEFLAG_FDEFAULTVTABLE    ( 0x8 )
  709.  
  710. typedef struct  tagVARDESC
  711.     {
  712.     MEMBERID memid;
  713.     LPOLESTR lpstrSchema;
  714.     /* [switch_is][switch_type] */ union 
  715.         {
  716.         /* [case()] */ ULONG oInst;
  717.         /* [case()] */ VARIANT __RPC_FAR *lpvarValue;
  718.         }    ;
  719.     ELEMDESC elemdescVar;
  720.     WORD wVarFlags;
  721.     VARKIND varkind;
  722.     }    VARDESC;
  723.  
  724. typedef struct tagVARDESC __RPC_FAR *LPVARDESC;
  725.  
  726. typedef 
  727. enum tagTYPEFLAGS
  728.     {    TYPEFLAG_FAPPOBJECT    = 0x1,
  729.     TYPEFLAG_FCANCREATE    = 0x2,
  730.     TYPEFLAG_FLICENSED    = 0x4,
  731.     TYPEFLAG_FPREDECLID    = 0x8,
  732.     TYPEFLAG_FHIDDEN    = 0x10,
  733.     TYPEFLAG_FCONTROL    = 0x20,
  734.     TYPEFLAG_FDUAL    = 0x40,
  735.     TYPEFLAG_FNONEXTENSIBLE    = 0x80,
  736.     TYPEFLAG_FOLEAUTOMATION    = 0x100,
  737.     TYPEFLAG_FRESTRICTED    = 0x200,
  738.     TYPEFLAG_FAGGREGATABLE    = 0x400,
  739.     TYPEFLAG_FREPLACEABLE    = 0x800,
  740.     TYPEFLAG_FDISPATCHABLE    = 0x1000,
  741.     TYPEFLAG_FREVERSEBIND    = 0x2000
  742.     }    TYPEFLAGS;
  743.  
  744. typedef 
  745. enum tagFUNCFLAGS
  746.     {    FUNCFLAG_FRESTRICTED    = 0x1,
  747.     FUNCFLAG_FSOURCE    = 0x2,
  748.     FUNCFLAG_FBINDABLE    = 0x4,
  749.     FUNCFLAG_FREQUESTEDIT    = 0x8,
  750.     FUNCFLAG_FDISPLAYBIND    = 0x10,
  751.     FUNCFLAG_FDEFAULTBIND    = 0x20,
  752.     FUNCFLAG_FHIDDEN    = 0x40,
  753.     FUNCFLAG_FUSESGETLASTERROR    = 0x80,
  754.     FUNCFLAG_FDEFAULTCOLLELEM    = 0x100,
  755.     FUNCFLAG_FUIDEFAULT    = 0x200,
  756.     FUNCFLAG_FNONBROWSABLE    = 0x400,
  757.     FUNCFLAG_FREPLACEABLE    = 0x800,
  758.     FUNCFLAG_FIMMEDIATEBIND    = 0x1000
  759.     }    FUNCFLAGS;
  760.  
  761. typedef 
  762. enum tagVARFLAGS
  763.     {    VARFLAG_FREADONLY    = 0x1,
  764.     VARFLAG_FSOURCE    = 0x2,
  765.     VARFLAG_FBINDABLE    = 0x4,
  766.     VARFLAG_FREQUESTEDIT    = 0x8,
  767.     VARFLAG_FDISPLAYBIND    = 0x10,
  768.     VARFLAG_FDEFAULTBIND    = 0x20,
  769.     VARFLAG_FHIDDEN    = 0x40,
  770.     VARFLAG_FRESTRICTED    = 0x80,
  771.     VARFLAG_FDEFAULTCOLLELEM    = 0x100,
  772.     VARFLAG_FUIDEFAULT    = 0x200,
  773.     VARFLAG_FNONBROWSABLE    = 0x400,
  774.     VARFLAG_FREPLACEABLE    = 0x800,
  775.     VARFLAG_FIMMEDIATEBIND    = 0x1000
  776.     }    VARFLAGS;
  777.  
  778. typedef /* [wire_marshal] */ struct  tagCLEANLOCALSTORAGE
  779.     {
  780.     IUnknown __RPC_FAR *pInterface;
  781.     PVOID pStorage;
  782.     DWORD flags;
  783.     }    CLEANLOCALSTORAGE;
  784.  
  785. typedef struct  tagCUSTDATAITEM
  786.     {
  787.     GUID guid;
  788.     VARIANTARG varValue;
  789.     }    CUSTDATAITEM;
  790.  
  791. typedef struct tagCUSTDATAITEM __RPC_FAR *LPCUSTDATAITEM;
  792.  
  793. typedef struct  tagCUSTDATA
  794.     {
  795.     DWORD cCustData;
  796.     /* [size_is] */ LPCUSTDATAITEM prgCustData;
  797.     }    CUSTDATA;
  798.  
  799. typedef struct tagCUSTDATA __RPC_FAR *LPCUSTDATA;
  800.  
  801.  
  802.  
  803. extern RPC_IF_HANDLE IOleAutomationTypes_v1_0_c_ifspec;
  804. extern RPC_IF_HANDLE IOleAutomationTypes_v1_0_s_ifspec;
  805. #endif /* __IOleAutomationTypes_INTERFACE_DEFINED__ */
  806.  
  807. #ifndef __ICreateTypeInfo_INTERFACE_DEFINED__
  808. #define __ICreateTypeInfo_INTERFACE_DEFINED__
  809.  
  810. /****************************************
  811.  * Generated header for interface: ICreateTypeInfo
  812.  * at Sat Jul 13 21:56:52 1996
  813.  * using MIDL 3.00.39
  814.  ****************************************/
  815. /* [local][unique][uuid][object] */ 
  816.  
  817.  
  818. typedef /* [unique] */ ICreateTypeInfo __RPC_FAR *LPCREATETYPEINFO;
  819.  
  820.  
  821. EXTERN_C const IID IID_ICreateTypeInfo;
  822.  
  823. #if defined(__cplusplus) && !defined(CINTERFACE)
  824.     
  825.     interface ICreateTypeInfo : public IUnknown
  826.     {
  827.     public:
  828.         virtual HRESULT STDMETHODCALLTYPE SetGuid( 
  829.             /* [in] */ REFGUID guid) = 0;
  830.         
  831.         virtual HRESULT STDMETHODCALLTYPE SetTypeFlags( 
  832.             /* [in] */ UINT uTypeFlags) = 0;
  833.         
  834.         virtual HRESULT STDMETHODCALLTYPE SetDocString( 
  835.             /* [in] */ LPOLESTR pStrDoc) = 0;
  836.         
  837.         virtual HRESULT STDMETHODCALLTYPE SetHelpContext( 
  838.             /* [in] */ DWORD dwHelpContext) = 0;
  839.         
  840.         virtual HRESULT STDMETHODCALLTYPE SetVersion( 
  841.             /* [in] */ WORD wMajorVerNum,
  842.             /* [in] */ WORD wMinorVerNum) = 0;
  843.         
  844.         virtual HRESULT STDMETHODCALLTYPE AddRefTypeInfo( 
  845.             /* [in] */ ITypeInfo __RPC_FAR *pTInfo,
  846.             /* [in] */ HREFTYPE __RPC_FAR *phRefType) = 0;
  847.         
  848.         virtual HRESULT STDMETHODCALLTYPE AddFuncDesc( 
  849.             /* [in] */ UINT index,
  850.             /* [in] */ FUNCDESC __RPC_FAR *pFuncDesc) = 0;
  851.         
  852.         virtual HRESULT STDMETHODCALLTYPE AddImplType( 
  853.             /* [in] */ UINT index,
  854.             /* [in] */ HREFTYPE hRefType) = 0;
  855.         
  856.         virtual HRESULT STDMETHODCALLTYPE SetImplTypeFlags( 
  857.             /* [in] */ UINT index,
  858.             /* [in] */ INT implTypeFlags) = 0;
  859.         
  860.         virtual HRESULT STDMETHODCALLTYPE SetAlignment( 
  861.             /* [in] */ WORD cbAlignment) = 0;
  862.         
  863.         virtual HRESULT STDMETHODCALLTYPE SetSchema( 
  864.             /* [in] */ LPOLESTR pStrSchema) = 0;
  865.         
  866.         virtual HRESULT STDMETHODCALLTYPE AddVarDesc( 
  867.             /* [in] */ UINT index,
  868.             /* [in] */ VARDESC __RPC_FAR *pVarDesc) = 0;
  869.         
  870.         virtual HRESULT STDMETHODCALLTYPE SetFuncAndParamNames( 
  871.             /* [in] */ UINT index,
  872.             /* [in][size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  873.             /* [in] */ UINT cNames) = 0;
  874.         
  875.         virtual HRESULT STDMETHODCALLTYPE SetVarName( 
  876.             /* [in] */ UINT index,
  877.             /* [in] */ LPOLESTR szName) = 0;
  878.         
  879.         virtual HRESULT STDMETHODCALLTYPE SetTypeDescAlias( 
  880.             /* [in] */ TYPEDESC __RPC_FAR *pTDescAlias) = 0;
  881.         
  882.         virtual HRESULT STDMETHODCALLTYPE DefineFuncAsDllEntry( 
  883.             /* [in] */ UINT index,
  884.             /* [in] */ LPOLESTR szDllName,
  885.             /* [in] */ LPOLESTR szProcName) = 0;
  886.         
  887.         virtual HRESULT STDMETHODCALLTYPE SetFuncDocString( 
  888.             /* [in] */ UINT index,
  889.             /* [in] */ LPOLESTR szDocString) = 0;
  890.         
  891.         virtual HRESULT STDMETHODCALLTYPE SetVarDocString( 
  892.             /* [in] */ UINT index,
  893.             /* [in] */ LPOLESTR szDocString) = 0;
  894.         
  895.         virtual HRESULT STDMETHODCALLTYPE SetFuncHelpContext( 
  896.             /* [in] */ UINT index,
  897.             /* [in] */ DWORD dwHelpContext) = 0;
  898.         
  899.         virtual HRESULT STDMETHODCALLTYPE SetVarHelpContext( 
  900.             /* [in] */ UINT index,
  901.             /* [in] */ DWORD dwHelpContext) = 0;
  902.         
  903.         virtual HRESULT STDMETHODCALLTYPE SetMops( 
  904.             /* [in] */ UINT index,
  905.             /* [in] */ BSTR bstrMops) = 0;
  906.         
  907.         virtual HRESULT STDMETHODCALLTYPE SetTypeIdldesc( 
  908.             /* [in] */ IDLDESC __RPC_FAR *pIdlDesc) = 0;
  909.         
  910.         virtual HRESULT STDMETHODCALLTYPE LayOut( void) = 0;
  911.         
  912.     };
  913.     
  914. #else     /* C style interface */
  915.  
  916.     typedef struct ICreateTypeInfoVtbl
  917.     {
  918.         BEGIN_INTERFACE
  919.         
  920.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  921.             ICreateTypeInfo __RPC_FAR * This,
  922.             /* [in] */ REFIID riid,
  923.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  924.         
  925.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  926.             ICreateTypeInfo __RPC_FAR * This);
  927.         
  928.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  929.             ICreateTypeInfo __RPC_FAR * This);
  930.         
  931.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetGuid )( 
  932.             ICreateTypeInfo __RPC_FAR * This,
  933.             /* [in] */ REFGUID guid);
  934.         
  935.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTypeFlags )( 
  936.             ICreateTypeInfo __RPC_FAR * This,
  937.             /* [in] */ UINT uTypeFlags);
  938.         
  939.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDocString )( 
  940.             ICreateTypeInfo __RPC_FAR * This,
  941.             /* [in] */ LPOLESTR pStrDoc);
  942.         
  943.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetHelpContext )( 
  944.             ICreateTypeInfo __RPC_FAR * This,
  945.             /* [in] */ DWORD dwHelpContext);
  946.         
  947.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetVersion )( 
  948.             ICreateTypeInfo __RPC_FAR * This,
  949.             /* [in] */ WORD wMajorVerNum,
  950.             /* [in] */ WORD wMinorVerNum);
  951.         
  952.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddRefTypeInfo )( 
  953.             ICreateTypeInfo __RPC_FAR * This,
  954.             /* [in] */ ITypeInfo __RPC_FAR *pTInfo,
  955.             /* [in] */ HREFTYPE __RPC_FAR *phRefType);
  956.         
  957.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddFuncDesc )( 
  958.             ICreateTypeInfo __RPC_FAR * This,
  959.             /* [in] */ UINT index,
  960.             /* [in] */ FUNCDESC __RPC_FAR *pFuncDesc);
  961.         
  962.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddImplType )( 
  963.             ICreateTypeInfo __RPC_FAR * This,
  964.             /* [in] */ UINT index,
  965.             /* [in] */ HREFTYPE hRefType);
  966.         
  967.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetImplTypeFlags )( 
  968.             ICreateTypeInfo __RPC_FAR * This,
  969.             /* [in] */ UINT index,
  970.             /* [in] */ INT implTypeFlags);
  971.         
  972.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetAlignment )( 
  973.             ICreateTypeInfo __RPC_FAR * This,
  974.             /* [in] */ WORD cbAlignment);
  975.         
  976.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSchema )( 
  977.             ICreateTypeInfo __RPC_FAR * This,
  978.             /* [in] */ LPOLESTR pStrSchema);
  979.         
  980.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddVarDesc )( 
  981.             ICreateTypeInfo __RPC_FAR * This,
  982.             /* [in] */ UINT index,
  983.             /* [in] */ VARDESC __RPC_FAR *pVarDesc);
  984.         
  985.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFuncAndParamNames )( 
  986.             ICreateTypeInfo __RPC_FAR * This,
  987.             /* [in] */ UINT index,
  988.             /* [in][size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  989.             /* [in] */ UINT cNames);
  990.         
  991.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetVarName )( 
  992.             ICreateTypeInfo __RPC_FAR * This,
  993.             /* [in] */ UINT index,
  994.             /* [in] */ LPOLESTR szName);
  995.         
  996.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTypeDescAlias )( 
  997.             ICreateTypeInfo __RPC_FAR * This,
  998.             /* [in] */ TYPEDESC __RPC_FAR *pTDescAlias);
  999.         
  1000.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DefineFuncAsDllEntry )( 
  1001.             ICreateTypeInfo __RPC_FAR * This,
  1002.             /* [in] */ UINT index,
  1003.             /* [in] */ LPOLESTR szDllName,
  1004.             /* [in] */ LPOLESTR szProcName);
  1005.         
  1006.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFuncDocString )( 
  1007.             ICreateTypeInfo __RPC_FAR * This,
  1008.             /* [in] */ UINT index,
  1009.             /* [in] */ LPOLESTR szDocString);
  1010.         
  1011.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetVarDocString )( 
  1012.             ICreateTypeInfo __RPC_FAR * This,
  1013.             /* [in] */ UINT index,
  1014.             /* [in] */ LPOLESTR szDocString);
  1015.         
  1016.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFuncHelpContext )( 
  1017.             ICreateTypeInfo __RPC_FAR * This,
  1018.             /* [in] */ UINT index,
  1019.             /* [in] */ DWORD dwHelpContext);
  1020.         
  1021.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetVarHelpContext )( 
  1022.             ICreateTypeInfo __RPC_FAR * This,
  1023.             /* [in] */ UINT index,
  1024.             /* [in] */ DWORD dwHelpContext);
  1025.         
  1026.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMops )( 
  1027.             ICreateTypeInfo __RPC_FAR * This,
  1028.             /* [in] */ UINT index,
  1029.             /* [in] */ BSTR bstrMops);
  1030.         
  1031.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTypeIdldesc )( 
  1032.             ICreateTypeInfo __RPC_FAR * This,
  1033.             /* [in] */ IDLDESC __RPC_FAR *pIdlDesc);
  1034.         
  1035.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LayOut )( 
  1036.             ICreateTypeInfo __RPC_FAR * This);
  1037.         
  1038.         END_INTERFACE
  1039.     } ICreateTypeInfoVtbl;
  1040.  
  1041.     interface ICreateTypeInfo
  1042.     {
  1043.         CONST_VTBL struct ICreateTypeInfoVtbl __RPC_FAR *lpVtbl;
  1044.     };
  1045.  
  1046.     
  1047.  
  1048. #ifdef COBJMACROS
  1049.  
  1050.  
  1051. #define ICreateTypeInfo_QueryInterface(This,riid,ppvObject)    \
  1052.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1053.  
  1054. #define ICreateTypeInfo_AddRef(This)    \
  1055.     (This)->lpVtbl -> AddRef(This)
  1056.  
  1057. #define ICreateTypeInfo_Release(This)    \
  1058.     (This)->lpVtbl -> Release(This)
  1059.  
  1060.  
  1061. #define ICreateTypeInfo_SetGuid(This,guid)    \
  1062.     (This)->lpVtbl -> SetGuid(This,guid)
  1063.  
  1064. #define ICreateTypeInfo_SetTypeFlags(This,uTypeFlags)    \
  1065.     (This)->lpVtbl -> SetTypeFlags(This,uTypeFlags)
  1066.  
  1067. #define ICreateTypeInfo_SetDocString(This,pStrDoc)    \
  1068.     (This)->lpVtbl -> SetDocString(This,pStrDoc)
  1069.  
  1070. #define ICreateTypeInfo_SetHelpContext(This,dwHelpContext)    \
  1071.     (This)->lpVtbl -> SetHelpContext(This,dwHelpContext)
  1072.  
  1073. #define ICreateTypeInfo_SetVersion(This,wMajorVerNum,wMinorVerNum)    \
  1074.     (This)->lpVtbl -> SetVersion(This,wMajorVerNum,wMinorVerNum)
  1075.  
  1076. #define ICreateTypeInfo_AddRefTypeInfo(This,pTInfo,phRefType)    \
  1077.     (This)->lpVtbl -> AddRefTypeInfo(This,pTInfo,phRefType)
  1078.  
  1079. #define ICreateTypeInfo_AddFuncDesc(This,index,pFuncDesc)    \
  1080.     (This)->lpVtbl -> AddFuncDesc(This,index,pFuncDesc)
  1081.  
  1082. #define ICreateTypeInfo_AddImplType(This,index,hRefType)    \
  1083.     (This)->lpVtbl -> AddImplType(This,index,hRefType)
  1084.  
  1085. #define ICreateTypeInfo_SetImplTypeFlags(This,index,implTypeFlags)    \
  1086.     (This)->lpVtbl -> SetImplTypeFlags(This,index,implTypeFlags)
  1087.  
  1088. #define ICreateTypeInfo_SetAlignment(This,cbAlignment)    \
  1089.     (This)->lpVtbl -> SetAlignment(This,cbAlignment)
  1090.  
  1091. #define ICreateTypeInfo_SetSchema(This,pStrSchema)    \
  1092.     (This)->lpVtbl -> SetSchema(This,pStrSchema)
  1093.  
  1094. #define ICreateTypeInfo_AddVarDesc(This,index,pVarDesc)    \
  1095.     (This)->lpVtbl -> AddVarDesc(This,index,pVarDesc)
  1096.  
  1097. #define ICreateTypeInfo_SetFuncAndParamNames(This,index,rgszNames,cNames)    \
  1098.     (This)->lpVtbl -> SetFuncAndParamNames(This,index,rgszNames,cNames)
  1099.  
  1100. #define ICreateTypeInfo_SetVarName(This,index,szName)    \
  1101.     (This)->lpVtbl -> SetVarName(This,index,szName)
  1102.  
  1103. #define ICreateTypeInfo_SetTypeDescAlias(This,pTDescAlias)    \
  1104.     (This)->lpVtbl -> SetTypeDescAlias(This,pTDescAlias)
  1105.  
  1106. #define ICreateTypeInfo_DefineFuncAsDllEntry(This,index,szDllName,szProcName)    \
  1107.     (This)->lpVtbl -> DefineFuncAsDllEntry(This,index,szDllName,szProcName)
  1108.  
  1109. #define ICreateTypeInfo_SetFuncDocString(This,index,szDocString)    \
  1110.     (This)->lpVtbl -> SetFuncDocString(This,index,szDocString)
  1111.  
  1112. #define ICreateTypeInfo_SetVarDocString(This,index,szDocString)    \
  1113.     (This)->lpVtbl -> SetVarDocString(This,index,szDocString)
  1114.  
  1115. #define ICreateTypeInfo_SetFuncHelpContext(This,index,dwHelpContext)    \
  1116.     (This)->lpVtbl -> SetFuncHelpContext(This,index,dwHelpContext)
  1117.  
  1118. #define ICreateTypeInfo_SetVarHelpContext(This,index,dwHelpContext)    \
  1119.     (This)->lpVtbl -> SetVarHelpContext(This,index,dwHelpContext)
  1120.  
  1121. #define ICreateTypeInfo_SetMops(This,index,bstrMops)    \
  1122.     (This)->lpVtbl -> SetMops(This,index,bstrMops)
  1123.  
  1124. #define ICreateTypeInfo_SetTypeIdldesc(This,pIdlDesc)    \
  1125.     (This)->lpVtbl -> SetTypeIdldesc(This,pIdlDesc)
  1126.  
  1127. #define ICreateTypeInfo_LayOut(This)    \
  1128.     (This)->lpVtbl -> LayOut(This)
  1129.  
  1130. #endif /* COBJMACROS */
  1131.  
  1132.  
  1133. #endif     /* C style interface */
  1134.  
  1135.  
  1136.  
  1137. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetGuid_Proxy( 
  1138.     ICreateTypeInfo __RPC_FAR * This,
  1139.     /* [in] */ REFGUID guid);
  1140.  
  1141.  
  1142. void __RPC_STUB ICreateTypeInfo_SetGuid_Stub(
  1143.     IRpcStubBuffer *This,
  1144.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1145.     PRPC_MESSAGE _pRpcMessage,
  1146.     DWORD *_pdwStubPhase);
  1147.  
  1148.  
  1149. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetTypeFlags_Proxy( 
  1150.     ICreateTypeInfo __RPC_FAR * This,
  1151.     /* [in] */ UINT uTypeFlags);
  1152.  
  1153.  
  1154. void __RPC_STUB ICreateTypeInfo_SetTypeFlags_Stub(
  1155.     IRpcStubBuffer *This,
  1156.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1157.     PRPC_MESSAGE _pRpcMessage,
  1158.     DWORD *_pdwStubPhase);
  1159.  
  1160.  
  1161. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetDocString_Proxy( 
  1162.     ICreateTypeInfo __RPC_FAR * This,
  1163.     /* [in] */ LPOLESTR pStrDoc);
  1164.  
  1165.  
  1166. void __RPC_STUB ICreateTypeInfo_SetDocString_Stub(
  1167.     IRpcStubBuffer *This,
  1168.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1169.     PRPC_MESSAGE _pRpcMessage,
  1170.     DWORD *_pdwStubPhase);
  1171.  
  1172.  
  1173. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetHelpContext_Proxy( 
  1174.     ICreateTypeInfo __RPC_FAR * This,
  1175.     /* [in] */ DWORD dwHelpContext);
  1176.  
  1177.  
  1178. void __RPC_STUB ICreateTypeInfo_SetHelpContext_Stub(
  1179.     IRpcStubBuffer *This,
  1180.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1181.     PRPC_MESSAGE _pRpcMessage,
  1182.     DWORD *_pdwStubPhase);
  1183.  
  1184.  
  1185. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetVersion_Proxy( 
  1186.     ICreateTypeInfo __RPC_FAR * This,
  1187.     /* [in] */ WORD wMajorVerNum,
  1188.     /* [in] */ WORD wMinorVerNum);
  1189.  
  1190.  
  1191. void __RPC_STUB ICreateTypeInfo_SetVersion_Stub(
  1192.     IRpcStubBuffer *This,
  1193.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1194.     PRPC_MESSAGE _pRpcMessage,
  1195.     DWORD *_pdwStubPhase);
  1196.  
  1197.  
  1198. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_AddRefTypeInfo_Proxy( 
  1199.     ICreateTypeInfo __RPC_FAR * This,
  1200.     /* [in] */ ITypeInfo __RPC_FAR *pTInfo,
  1201.     /* [in] */ HREFTYPE __RPC_FAR *phRefType);
  1202.  
  1203.  
  1204. void __RPC_STUB ICreateTypeInfo_AddRefTypeInfo_Stub(
  1205.     IRpcStubBuffer *This,
  1206.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1207.     PRPC_MESSAGE _pRpcMessage,
  1208.     DWORD *_pdwStubPhase);
  1209.  
  1210.  
  1211. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_AddFuncDesc_Proxy( 
  1212.     ICreateTypeInfo __RPC_FAR * This,
  1213.     /* [in] */ UINT index,
  1214.     /* [in] */ FUNCDESC __RPC_FAR *pFuncDesc);
  1215.  
  1216.  
  1217. void __RPC_STUB ICreateTypeInfo_AddFuncDesc_Stub(
  1218.     IRpcStubBuffer *This,
  1219.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1220.     PRPC_MESSAGE _pRpcMessage,
  1221.     DWORD *_pdwStubPhase);
  1222.  
  1223.  
  1224. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_AddImplType_Proxy( 
  1225.     ICreateTypeInfo __RPC_FAR * This,
  1226.     /* [in] */ UINT index,
  1227.     /* [in] */ HREFTYPE hRefType);
  1228.  
  1229.  
  1230. void __RPC_STUB ICreateTypeInfo_AddImplType_Stub(
  1231.     IRpcStubBuffer *This,
  1232.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1233.     PRPC_MESSAGE _pRpcMessage,
  1234.     DWORD *_pdwStubPhase);
  1235.  
  1236.  
  1237. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetImplTypeFlags_Proxy( 
  1238.     ICreateTypeInfo __RPC_FAR * This,
  1239.     /* [in] */ UINT index,
  1240.     /* [in] */ INT implTypeFlags);
  1241.  
  1242.  
  1243. void __RPC_STUB ICreateTypeInfo_SetImplTypeFlags_Stub(
  1244.     IRpcStubBuffer *This,
  1245.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1246.     PRPC_MESSAGE _pRpcMessage,
  1247.     DWORD *_pdwStubPhase);
  1248.  
  1249.  
  1250. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetAlignment_Proxy( 
  1251.     ICreateTypeInfo __RPC_FAR * This,
  1252.     /* [in] */ WORD cbAlignment);
  1253.  
  1254.  
  1255. void __RPC_STUB ICreateTypeInfo_SetAlignment_Stub(
  1256.     IRpcStubBuffer *This,
  1257.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1258.     PRPC_MESSAGE _pRpcMessage,
  1259.     DWORD *_pdwStubPhase);
  1260.  
  1261.  
  1262. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetSchema_Proxy( 
  1263.     ICreateTypeInfo __RPC_FAR * This,
  1264.     /* [in] */ LPOLESTR pStrSchema);
  1265.  
  1266.  
  1267. void __RPC_STUB ICreateTypeInfo_SetSchema_Stub(
  1268.     IRpcStubBuffer *This,
  1269.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1270.     PRPC_MESSAGE _pRpcMessage,
  1271.     DWORD *_pdwStubPhase);
  1272.  
  1273.  
  1274. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_AddVarDesc_Proxy( 
  1275.     ICreateTypeInfo __RPC_FAR * This,
  1276.     /* [in] */ UINT index,
  1277.     /* [in] */ VARDESC __RPC_FAR *pVarDesc);
  1278.  
  1279.  
  1280. void __RPC_STUB ICreateTypeInfo_AddVarDesc_Stub(
  1281.     IRpcStubBuffer *This,
  1282.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1283.     PRPC_MESSAGE _pRpcMessage,
  1284.     DWORD *_pdwStubPhase);
  1285.  
  1286.  
  1287. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetFuncAndParamNames_Proxy( 
  1288.     ICreateTypeInfo __RPC_FAR * This,
  1289.     /* [in] */ UINT index,
  1290.     /* [in][size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1291.     /* [in] */ UINT cNames);
  1292.  
  1293.  
  1294. void __RPC_STUB ICreateTypeInfo_SetFuncAndParamNames_Stub(
  1295.     IRpcStubBuffer *This,
  1296.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1297.     PRPC_MESSAGE _pRpcMessage,
  1298.     DWORD *_pdwStubPhase);
  1299.  
  1300.  
  1301. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetVarName_Proxy( 
  1302.     ICreateTypeInfo __RPC_FAR * This,
  1303.     /* [in] */ UINT index,
  1304.     /* [in] */ LPOLESTR szName);
  1305.  
  1306.  
  1307. void __RPC_STUB ICreateTypeInfo_SetVarName_Stub(
  1308.     IRpcStubBuffer *This,
  1309.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1310.     PRPC_MESSAGE _pRpcMessage,
  1311.     DWORD *_pdwStubPhase);
  1312.  
  1313.  
  1314. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetTypeDescAlias_Proxy( 
  1315.     ICreateTypeInfo __RPC_FAR * This,
  1316.     /* [in] */ TYPEDESC __RPC_FAR *pTDescAlias);
  1317.  
  1318.  
  1319. void __RPC_STUB ICreateTypeInfo_SetTypeDescAlias_Stub(
  1320.     IRpcStubBuffer *This,
  1321.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1322.     PRPC_MESSAGE _pRpcMessage,
  1323.     DWORD *_pdwStubPhase);
  1324.  
  1325.  
  1326. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_DefineFuncAsDllEntry_Proxy( 
  1327.     ICreateTypeInfo __RPC_FAR * This,
  1328.     /* [in] */ UINT index,
  1329.     /* [in] */ LPOLESTR szDllName,
  1330.     /* [in] */ LPOLESTR szProcName);
  1331.  
  1332.  
  1333. void __RPC_STUB ICreateTypeInfo_DefineFuncAsDllEntry_Stub(
  1334.     IRpcStubBuffer *This,
  1335.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1336.     PRPC_MESSAGE _pRpcMessage,
  1337.     DWORD *_pdwStubPhase);
  1338.  
  1339.  
  1340. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetFuncDocString_Proxy( 
  1341.     ICreateTypeInfo __RPC_FAR * This,
  1342.     /* [in] */ UINT index,
  1343.     /* [in] */ LPOLESTR szDocString);
  1344.  
  1345.  
  1346. void __RPC_STUB ICreateTypeInfo_SetFuncDocString_Stub(
  1347.     IRpcStubBuffer *This,
  1348.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1349.     PRPC_MESSAGE _pRpcMessage,
  1350.     DWORD *_pdwStubPhase);
  1351.  
  1352.  
  1353. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetVarDocString_Proxy( 
  1354.     ICreateTypeInfo __RPC_FAR * This,
  1355.     /* [in] */ UINT index,
  1356.     /* [in] */ LPOLESTR szDocString);
  1357.  
  1358.  
  1359. void __RPC_STUB ICreateTypeInfo_SetVarDocString_Stub(
  1360.     IRpcStubBuffer *This,
  1361.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1362.     PRPC_MESSAGE _pRpcMessage,
  1363.     DWORD *_pdwStubPhase);
  1364.  
  1365.  
  1366. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetFuncHelpContext_Proxy( 
  1367.     ICreateTypeInfo __RPC_FAR * This,
  1368.     /* [in] */ UINT index,
  1369.     /* [in] */ DWORD dwHelpContext);
  1370.  
  1371.  
  1372. void __RPC_STUB ICreateTypeInfo_SetFuncHelpContext_Stub(
  1373.     IRpcStubBuffer *This,
  1374.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1375.     PRPC_MESSAGE _pRpcMessage,
  1376.     DWORD *_pdwStubPhase);
  1377.  
  1378.  
  1379. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetVarHelpContext_Proxy( 
  1380.     ICreateTypeInfo __RPC_FAR * This,
  1381.     /* [in] */ UINT index,
  1382.     /* [in] */ DWORD dwHelpContext);
  1383.  
  1384.  
  1385. void __RPC_STUB ICreateTypeInfo_SetVarHelpContext_Stub(
  1386.     IRpcStubBuffer *This,
  1387.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1388.     PRPC_MESSAGE _pRpcMessage,
  1389.     DWORD *_pdwStubPhase);
  1390.  
  1391.  
  1392. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetMops_Proxy( 
  1393.     ICreateTypeInfo __RPC_FAR * This,
  1394.     /* [in] */ UINT index,
  1395.     /* [in] */ BSTR bstrMops);
  1396.  
  1397.  
  1398. void __RPC_STUB ICreateTypeInfo_SetMops_Stub(
  1399.     IRpcStubBuffer *This,
  1400.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1401.     PRPC_MESSAGE _pRpcMessage,
  1402.     DWORD *_pdwStubPhase);
  1403.  
  1404.  
  1405. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetTypeIdldesc_Proxy( 
  1406.     ICreateTypeInfo __RPC_FAR * This,
  1407.     /* [in] */ IDLDESC __RPC_FAR *pIdlDesc);
  1408.  
  1409.  
  1410. void __RPC_STUB ICreateTypeInfo_SetTypeIdldesc_Stub(
  1411.     IRpcStubBuffer *This,
  1412.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1413.     PRPC_MESSAGE _pRpcMessage,
  1414.     DWORD *_pdwStubPhase);
  1415.  
  1416.  
  1417. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_LayOut_Proxy( 
  1418.     ICreateTypeInfo __RPC_FAR * This);
  1419.  
  1420.  
  1421. void __RPC_STUB ICreateTypeInfo_LayOut_Stub(
  1422.     IRpcStubBuffer *This,
  1423.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1424.     PRPC_MESSAGE _pRpcMessage,
  1425.     DWORD *_pdwStubPhase);
  1426.  
  1427.  
  1428.  
  1429. #endif     /* __ICreateTypeInfo_INTERFACE_DEFINED__ */
  1430.  
  1431.  
  1432. #ifndef __ICreateTypeInfo2_INTERFACE_DEFINED__
  1433. #define __ICreateTypeInfo2_INTERFACE_DEFINED__
  1434.  
  1435. /****************************************
  1436.  * Generated header for interface: ICreateTypeInfo2
  1437.  * at Sat Jul 13 21:56:52 1996
  1438.  * using MIDL 3.00.39
  1439.  ****************************************/
  1440. /* [local][unique][uuid][object] */ 
  1441.  
  1442.  
  1443. typedef /* [unique] */ ICreateTypeInfo2 __RPC_FAR *LPCREATETYPEINFO2;
  1444.  
  1445.  
  1446. EXTERN_C const IID IID_ICreateTypeInfo2;
  1447.  
  1448. #if defined(__cplusplus) && !defined(CINTERFACE)
  1449.     
  1450.     interface ICreateTypeInfo2 : public ICreateTypeInfo
  1451.     {
  1452.     public:
  1453.         virtual HRESULT STDMETHODCALLTYPE DeleteFuncDesc( 
  1454.             /* [in] */ UINT index) = 0;
  1455.         
  1456.         virtual HRESULT STDMETHODCALLTYPE DeleteFuncDescByMemId( 
  1457.             /* [in] */ MEMBERID memid,
  1458.             /* [in] */ INVOKEKIND invKind) = 0;
  1459.         
  1460.         virtual HRESULT STDMETHODCALLTYPE DeleteVarDesc( 
  1461.             /* [in] */ UINT index) = 0;
  1462.         
  1463.         virtual HRESULT STDMETHODCALLTYPE DeleteVarDescByMemId( 
  1464.             /* [in] */ MEMBERID memid) = 0;
  1465.         
  1466.         virtual HRESULT STDMETHODCALLTYPE DeleteImplType( 
  1467.             /* [in] */ UINT index) = 0;
  1468.         
  1469.         virtual HRESULT STDMETHODCALLTYPE SetCustData( 
  1470.             /* [in] */ REFGUID guid,
  1471.             /* [in] */ VARIANT __RPC_FAR *pVarVal) = 0;
  1472.         
  1473.         virtual HRESULT STDMETHODCALLTYPE SetFuncCustData( 
  1474.             /* [in] */ UINT index,
  1475.             /* [in] */ REFGUID guid,
  1476.             /* [in] */ VARIANT __RPC_FAR *pVarVal) = 0;
  1477.         
  1478.         virtual HRESULT STDMETHODCALLTYPE SetParamCustData( 
  1479.             /* [in] */ UINT indexFunc,
  1480.             /* [in] */ UINT indexParam,
  1481.             /* [in] */ REFGUID guid,
  1482.             /* [in] */ VARIANT __RPC_FAR *pVarVal) = 0;
  1483.         
  1484.         virtual HRESULT STDMETHODCALLTYPE SetVarCustData( 
  1485.             /* [in] */ UINT index,
  1486.             /* [in] */ REFGUID guid,
  1487.             /* [in] */ VARIANT __RPC_FAR *pVarVal) = 0;
  1488.         
  1489.         virtual HRESULT STDMETHODCALLTYPE SetImplTypeCustData( 
  1490.             /* [in] */ UINT index,
  1491.             /* [in] */ REFGUID guid,
  1492.             /* [in] */ VARIANT __RPC_FAR *pVarVal) = 0;
  1493.         
  1494.         virtual HRESULT STDMETHODCALLTYPE SetHelpStringContext( 
  1495.             /* [in] */ ULONG dwHelpStringContext) = 0;
  1496.         
  1497.         virtual HRESULT STDMETHODCALLTYPE SetFuncHelpStringContext( 
  1498.             /* [in] */ UINT index,
  1499.             /* [in] */ ULONG dwHelpStringContext) = 0;
  1500.         
  1501.         virtual HRESULT STDMETHODCALLTYPE SetVarHelpStringContext( 
  1502.             /* [in] */ UINT index,
  1503.             /* [in] */ ULONG dwHelpStringContext) = 0;
  1504.         
  1505.         virtual HRESULT STDMETHODCALLTYPE Invalidate( void) = 0;
  1506.         
  1507.         virtual HRESULT STDMETHODCALLTYPE SetName( 
  1508.             /* [in] */ LPOLESTR szName) = 0;
  1509.         
  1510.     };
  1511.     
  1512. #else     /* C style interface */
  1513.  
  1514.     typedef struct ICreateTypeInfo2Vtbl
  1515.     {
  1516.         BEGIN_INTERFACE
  1517.         
  1518.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1519.             ICreateTypeInfo2 __RPC_FAR * This,
  1520.             /* [in] */ REFIID riid,
  1521.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1522.         
  1523.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1524.             ICreateTypeInfo2 __RPC_FAR * This);
  1525.         
  1526.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1527.             ICreateTypeInfo2 __RPC_FAR * This);
  1528.         
  1529.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetGuid )( 
  1530.             ICreateTypeInfo2 __RPC_FAR * This,
  1531.             /* [in] */ REFGUID guid);
  1532.         
  1533.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTypeFlags )( 
  1534.             ICreateTypeInfo2 __RPC_FAR * This,
  1535.             /* [in] */ UINT uTypeFlags);
  1536.         
  1537.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDocString )( 
  1538.             ICreateTypeInfo2 __RPC_FAR * This,
  1539.             /* [in] */ LPOLESTR pStrDoc);
  1540.         
  1541.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetHelpContext )( 
  1542.             ICreateTypeInfo2 __RPC_FAR * This,
  1543.             /* [in] */ DWORD dwHelpContext);
  1544.         
  1545.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetVersion )( 
  1546.             ICreateTypeInfo2 __RPC_FAR * This,
  1547.             /* [in] */ WORD wMajorVerNum,
  1548.             /* [in] */ WORD wMinorVerNum);
  1549.         
  1550.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddRefTypeInfo )( 
  1551.             ICreateTypeInfo2 __RPC_FAR * This,
  1552.             /* [in] */ ITypeInfo __RPC_FAR *pTInfo,
  1553.             /* [in] */ HREFTYPE __RPC_FAR *phRefType);
  1554.         
  1555.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddFuncDesc )( 
  1556.             ICreateTypeInfo2 __RPC_FAR * This,
  1557.             /* [in] */ UINT index,
  1558.             /* [in] */ FUNCDESC __RPC_FAR *pFuncDesc);
  1559.         
  1560.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddImplType )( 
  1561.             ICreateTypeInfo2 __RPC_FAR * This,
  1562.             /* [in] */ UINT index,
  1563.             /* [in] */ HREFTYPE hRefType);
  1564.         
  1565.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetImplTypeFlags )( 
  1566.             ICreateTypeInfo2 __RPC_FAR * This,
  1567.             /* [in] */ UINT index,
  1568.             /* [in] */ INT implTypeFlags);
  1569.         
  1570.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetAlignment )( 
  1571.             ICreateTypeInfo2 __RPC_FAR * This,
  1572.             /* [in] */ WORD cbAlignment);
  1573.         
  1574.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSchema )( 
  1575.             ICreateTypeInfo2 __RPC_FAR * This,
  1576.             /* [in] */ LPOLESTR pStrSchema);
  1577.         
  1578.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddVarDesc )( 
  1579.             ICreateTypeInfo2 __RPC_FAR * This,
  1580.             /* [in] */ UINT index,
  1581.             /* [in] */ VARDESC __RPC_FAR *pVarDesc);
  1582.         
  1583.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFuncAndParamNames )( 
  1584.             ICreateTypeInfo2 __RPC_FAR * This,
  1585.             /* [in] */ UINT index,
  1586.             /* [in][size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1587.             /* [in] */ UINT cNames);
  1588.         
  1589.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetVarName )( 
  1590.             ICreateTypeInfo2 __RPC_FAR * This,
  1591.             /* [in] */ UINT index,
  1592.             /* [in] */ LPOLESTR szName);
  1593.         
  1594.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTypeDescAlias )( 
  1595.             ICreateTypeInfo2 __RPC_FAR * This,
  1596.             /* [in] */ TYPEDESC __RPC_FAR *pTDescAlias);
  1597.         
  1598.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DefineFuncAsDllEntry )( 
  1599.             ICreateTypeInfo2 __RPC_FAR * This,
  1600.             /* [in] */ UINT index,
  1601.             /* [in] */ LPOLESTR szDllName,
  1602.             /* [in] */ LPOLESTR szProcName);
  1603.         
  1604.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFuncDocString )( 
  1605.             ICreateTypeInfo2 __RPC_FAR * This,
  1606.             /* [in] */ UINT index,
  1607.             /* [in] */ LPOLESTR szDocString);
  1608.         
  1609.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetVarDocString )( 
  1610.             ICreateTypeInfo2 __RPC_FAR * This,
  1611.             /* [in] */ UINT index,
  1612.             /* [in] */ LPOLESTR szDocString);
  1613.         
  1614.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFuncHelpContext )( 
  1615.             ICreateTypeInfo2 __RPC_FAR * This,
  1616.             /* [in] */ UINT index,
  1617.             /* [in] */ DWORD dwHelpContext);
  1618.         
  1619.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetVarHelpContext )( 
  1620.             ICreateTypeInfo2 __RPC_FAR * This,
  1621.             /* [in] */ UINT index,
  1622.             /* [in] */ DWORD dwHelpContext);
  1623.         
  1624.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMops )( 
  1625.             ICreateTypeInfo2 __RPC_FAR * This,
  1626.             /* [in] */ UINT index,
  1627.             /* [in] */ BSTR bstrMops);
  1628.         
  1629.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTypeIdldesc )( 
  1630.             ICreateTypeInfo2 __RPC_FAR * This,
  1631.             /* [in] */ IDLDESC __RPC_FAR *pIdlDesc);
  1632.         
  1633.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LayOut )( 
  1634.             ICreateTypeInfo2 __RPC_FAR * This);
  1635.         
  1636.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteFuncDesc )( 
  1637.             ICreateTypeInfo2 __RPC_FAR * This,
  1638.             /* [in] */ UINT index);
  1639.         
  1640.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteFuncDescByMemId )( 
  1641.             ICreateTypeInfo2 __RPC_FAR * This,
  1642.             /* [in] */ MEMBERID memid,
  1643.             /* [in] */ INVOKEKIND invKind);
  1644.         
  1645.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteVarDesc )( 
  1646.             ICreateTypeInfo2 __RPC_FAR * This,
  1647.             /* [in] */ UINT index);
  1648.         
  1649.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteVarDescByMemId )( 
  1650.             ICreateTypeInfo2 __RPC_FAR * This,
  1651.             /* [in] */ MEMBERID memid);
  1652.         
  1653.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteImplType )( 
  1654.             ICreateTypeInfo2 __RPC_FAR * This,
  1655.             /* [in] */ UINT index);
  1656.         
  1657.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetCustData )( 
  1658.             ICreateTypeInfo2 __RPC_FAR * This,
  1659.             /* [in] */ REFGUID guid,
  1660.             /* [in] */ VARIANT __RPC_FAR *pVarVal);
  1661.         
  1662.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFuncCustData )( 
  1663.             ICreateTypeInfo2 __RPC_FAR * This,
  1664.             /* [in] */ UINT index,
  1665.             /* [in] */ REFGUID guid,
  1666.             /* [in] */ VARIANT __RPC_FAR *pVarVal);
  1667.         
  1668.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetParamCustData )( 
  1669.             ICreateTypeInfo2 __RPC_FAR * This,
  1670.             /* [in] */ UINT indexFunc,
  1671.             /* [in] */ UINT indexParam,
  1672.             /* [in] */ REFGUID guid,
  1673.             /* [in] */ VARIANT __RPC_FAR *pVarVal);
  1674.         
  1675.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetVarCustData )( 
  1676.             ICreateTypeInfo2 __RPC_FAR * This,
  1677.             /* [in] */ UINT index,
  1678.             /* [in] */ REFGUID guid,
  1679.             /* [in] */ VARIANT __RPC_FAR *pVarVal);
  1680.         
  1681.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetImplTypeCustData )( 
  1682.             ICreateTypeInfo2 __RPC_FAR * This,
  1683.             /* [in] */ UINT index,
  1684.             /* [in] */ REFGUID guid,
  1685.             /* [in] */ VARIANT __RPC_FAR *pVarVal);
  1686.         
  1687.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetHelpStringContext )( 
  1688.             ICreateTypeInfo2 __RPC_FAR * This,
  1689.             /* [in] */ ULONG dwHelpStringContext);
  1690.         
  1691.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFuncHelpStringContext )( 
  1692.             ICreateTypeInfo2 __RPC_FAR * This,
  1693.             /* [in] */ UINT index,
  1694.             /* [in] */ ULONG dwHelpStringContext);
  1695.         
  1696.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetVarHelpStringContext )( 
  1697.             ICreateTypeInfo2 __RPC_FAR * This,
  1698.             /* [in] */ UINT index,
  1699.             /* [in] */ ULONG dwHelpStringContext);
  1700.         
  1701.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invalidate )( 
  1702.             ICreateTypeInfo2 __RPC_FAR * This);
  1703.         
  1704.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetName )( 
  1705.             ICreateTypeInfo2 __RPC_FAR * This,
  1706.             /* [in] */ LPOLESTR szName);
  1707.         
  1708.         END_INTERFACE
  1709.     } ICreateTypeInfo2Vtbl;
  1710.  
  1711.     interface ICreateTypeInfo2
  1712.     {
  1713.         CONST_VTBL struct ICreateTypeInfo2Vtbl __RPC_FAR *lpVtbl;
  1714.     };
  1715.  
  1716.     
  1717.  
  1718. #ifdef COBJMACROS
  1719.  
  1720.  
  1721. #define ICreateTypeInfo2_QueryInterface(This,riid,ppvObject)    \
  1722.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1723.  
  1724. #define ICreateTypeInfo2_AddRef(This)    \
  1725.     (This)->lpVtbl -> AddRef(This)
  1726.  
  1727. #define ICreateTypeInfo2_Release(This)    \
  1728.     (This)->lpVtbl -> Release(This)
  1729.  
  1730.  
  1731. #define ICreateTypeInfo2_SetGuid(This,guid)    \
  1732.     (This)->lpVtbl -> SetGuid(This,guid)
  1733.  
  1734. #define ICreateTypeInfo2_SetTypeFlags(This,uTypeFlags)    \
  1735.     (This)->lpVtbl -> SetTypeFlags(This,uTypeFlags)
  1736.  
  1737. #define ICreateTypeInfo2_SetDocString(This,pStrDoc)    \
  1738.     (This)->lpVtbl -> SetDocString(This,pStrDoc)
  1739.  
  1740. #define ICreateTypeInfo2_SetHelpContext(This,dwHelpContext)    \
  1741.     (This)->lpVtbl -> SetHelpContext(This,dwHelpContext)
  1742.  
  1743. #define ICreateTypeInfo2_SetVersion(This,wMajorVerNum,wMinorVerNum)    \
  1744.     (This)->lpVtbl -> SetVersion(This,wMajorVerNum,wMinorVerNum)
  1745.  
  1746. #define ICreateTypeInfo2_AddRefTypeInfo(This,pTInfo,phRefType)    \
  1747.     (This)->lpVtbl -> AddRefTypeInfo(This,pTInfo,phRefType)
  1748.  
  1749. #define ICreateTypeInfo2_AddFuncDesc(This,index,pFuncDesc)    \
  1750.     (This)->lpVtbl -> AddFuncDesc(This,index,pFuncDesc)
  1751.  
  1752. #define ICreateTypeInfo2_AddImplType(This,index,hRefType)    \
  1753.     (This)->lpVtbl -> AddImplType(This,index,hRefType)
  1754.  
  1755. #define ICreateTypeInfo2_SetImplTypeFlags(This,index,implTypeFlags)    \
  1756.     (This)->lpVtbl -> SetImplTypeFlags(This,index,implTypeFlags)
  1757.  
  1758. #define ICreateTypeInfo2_SetAlignment(This,cbAlignment)    \
  1759.     (This)->lpVtbl -> SetAlignment(This,cbAlignment)
  1760.  
  1761. #define ICreateTypeInfo2_SetSchema(This,pStrSchema)    \
  1762.     (This)->lpVtbl -> SetSchema(This,pStrSchema)
  1763.  
  1764. #define ICreateTypeInfo2_AddVarDesc(This,index,pVarDesc)    \
  1765.     (This)->lpVtbl -> AddVarDesc(This,index,pVarDesc)
  1766.  
  1767. #define ICreateTypeInfo2_SetFuncAndParamNames(This,index,rgszNames,cNames)    \
  1768.     (This)->lpVtbl -> SetFuncAndParamNames(This,index,rgszNames,cNames)
  1769.  
  1770. #define ICreateTypeInfo2_SetVarName(This,index,szName)    \
  1771.     (This)->lpVtbl -> SetVarName(This,index,szName)
  1772.  
  1773. #define ICreateTypeInfo2_SetTypeDescAlias(This,pTDescAlias)    \
  1774.     (This)->lpVtbl -> SetTypeDescAlias(This,pTDescAlias)
  1775.  
  1776. #define ICreateTypeInfo2_DefineFuncAsDllEntry(This,index,szDllName,szProcName)    \
  1777.     (This)->lpVtbl -> DefineFuncAsDllEntry(This,index,szDllName,szProcName)
  1778.  
  1779. #define ICreateTypeInfo2_SetFuncDocString(This,index,szDocString)    \
  1780.     (This)->lpVtbl -> SetFuncDocString(This,index,szDocString)
  1781.  
  1782. #define ICreateTypeInfo2_SetVarDocString(This,index,szDocString)    \
  1783.     (This)->lpVtbl -> SetVarDocString(This,index,szDocString)
  1784.  
  1785. #define ICreateTypeInfo2_SetFuncHelpContext(This,index,dwHelpContext)    \
  1786.     (This)->lpVtbl -> SetFuncHelpContext(This,index,dwHelpContext)
  1787.  
  1788. #define ICreateTypeInfo2_SetVarHelpContext(This,index,dwHelpContext)    \
  1789.     (This)->lpVtbl -> SetVarHelpContext(This,index,dwHelpContext)
  1790.  
  1791. #define ICreateTypeInfo2_SetMops(This,index,bstrMops)    \
  1792.     (This)->lpVtbl -> SetMops(This,index,bstrMops)
  1793.  
  1794. #define ICreateTypeInfo2_SetTypeIdldesc(This,pIdlDesc)    \
  1795.     (This)->lpVtbl -> SetTypeIdldesc(This,pIdlDesc)
  1796.  
  1797. #define ICreateTypeInfo2_LayOut(This)    \
  1798.     (This)->lpVtbl -> LayOut(This)
  1799.  
  1800.  
  1801. #define ICreateTypeInfo2_DeleteFuncDesc(This,index)    \
  1802.     (This)->lpVtbl -> DeleteFuncDesc(This,index)
  1803.  
  1804. #define ICreateTypeInfo2_DeleteFuncDescByMemId(This,memid,invKind)    \
  1805.     (This)->lpVtbl -> DeleteFuncDescByMemId(This,memid,invKind)
  1806.  
  1807. #define ICreateTypeInfo2_DeleteVarDesc(This,index)    \
  1808.     (This)->lpVtbl -> DeleteVarDesc(This,index)
  1809.  
  1810. #define ICreateTypeInfo2_DeleteVarDescByMemId(This,memid)    \
  1811.     (This)->lpVtbl -> DeleteVarDescByMemId(This,memid)
  1812.  
  1813. #define ICreateTypeInfo2_DeleteImplType(This,index)    \
  1814.     (This)->lpVtbl -> DeleteImplType(This,index)
  1815.  
  1816. #define ICreateTypeInfo2_SetCustData(This,guid,pVarVal)    \
  1817.     (This)->lpVtbl -> SetCustData(This,guid,pVarVal)
  1818.  
  1819. #define ICreateTypeInfo2_SetFuncCustData(This,index,guid,pVarVal)    \
  1820.     (This)->lpVtbl -> SetFuncCustData(This,index,guid,pVarVal)
  1821.  
  1822. #define ICreateTypeInfo2_SetParamCustData(This,indexFunc,indexParam,guid,pVarVal)    \
  1823.     (This)->lpVtbl -> SetParamCustData(This,indexFunc,indexParam,guid,pVarVal)
  1824.  
  1825. #define ICreateTypeInfo2_SetVarCustData(This,index,guid,pVarVal)    \
  1826.     (This)->lpVtbl -> SetVarCustData(This,index,guid,pVarVal)
  1827.  
  1828. #define ICreateTypeInfo2_SetImplTypeCustData(This,index,guid,pVarVal)    \
  1829.     (This)->lpVtbl -> SetImplTypeCustData(This,index,guid,pVarVal)
  1830.  
  1831. #define ICreateTypeInfo2_SetHelpStringContext(This,dwHelpStringContext)    \
  1832.     (This)->lpVtbl -> SetHelpStringContext(This,dwHelpStringContext)
  1833.  
  1834. #define ICreateTypeInfo2_SetFuncHelpStringContext(This,index,dwHelpStringContext)    \
  1835.     (This)->lpVtbl -> SetFuncHelpStringContext(This,index,dwHelpStringContext)
  1836.  
  1837. #define ICreateTypeInfo2_SetVarHelpStringContext(This,index,dwHelpStringContext)    \
  1838.     (This)->lpVtbl -> SetVarHelpStringContext(This,index,dwHelpStringContext)
  1839.  
  1840. #define ICreateTypeInfo2_Invalidate(This)    \
  1841.     (This)->lpVtbl -> Invalidate(This)
  1842.  
  1843. #define ICreateTypeInfo2_SetName(This,szName)    \
  1844.     (This)->lpVtbl -> SetName(This,szName)
  1845.  
  1846. #endif /* COBJMACROS */
  1847.  
  1848.  
  1849. #endif     /* C style interface */
  1850.  
  1851.  
  1852.  
  1853. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_DeleteFuncDesc_Proxy( 
  1854.     ICreateTypeInfo2 __RPC_FAR * This,
  1855.     /* [in] */ UINT index);
  1856.  
  1857.  
  1858. void __RPC_STUB ICreateTypeInfo2_DeleteFuncDesc_Stub(
  1859.     IRpcStubBuffer *This,
  1860.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1861.     PRPC_MESSAGE _pRpcMessage,
  1862.     DWORD *_pdwStubPhase);
  1863.  
  1864.  
  1865. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_DeleteFuncDescByMemId_Proxy( 
  1866.     ICreateTypeInfo2 __RPC_FAR * This,
  1867.     /* [in] */ MEMBERID memid,
  1868.     /* [in] */ INVOKEKIND invKind);
  1869.  
  1870.  
  1871. void __RPC_STUB ICreateTypeInfo2_DeleteFuncDescByMemId_Stub(
  1872.     IRpcStubBuffer *This,
  1873.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1874.     PRPC_MESSAGE _pRpcMessage,
  1875.     DWORD *_pdwStubPhase);
  1876.  
  1877.  
  1878. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_DeleteVarDesc_Proxy( 
  1879.     ICreateTypeInfo2 __RPC_FAR * This,
  1880.     /* [in] */ UINT index);
  1881.  
  1882.  
  1883. void __RPC_STUB ICreateTypeInfo2_DeleteVarDesc_Stub(
  1884.     IRpcStubBuffer *This,
  1885.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1886.     PRPC_MESSAGE _pRpcMessage,
  1887.     DWORD *_pdwStubPhase);
  1888.  
  1889.  
  1890. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_DeleteVarDescByMemId_Proxy( 
  1891.     ICreateTypeInfo2 __RPC_FAR * This,
  1892.     /* [in] */ MEMBERID memid);
  1893.  
  1894.  
  1895. void __RPC_STUB ICreateTypeInfo2_DeleteVarDescByMemId_Stub(
  1896.     IRpcStubBuffer *This,
  1897.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1898.     PRPC_MESSAGE _pRpcMessage,
  1899.     DWORD *_pdwStubPhase);
  1900.  
  1901.  
  1902. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_DeleteImplType_Proxy( 
  1903.     ICreateTypeInfo2 __RPC_FAR * This,
  1904.     /* [in] */ UINT index);
  1905.  
  1906.  
  1907. void __RPC_STUB ICreateTypeInfo2_DeleteImplType_Stub(
  1908.     IRpcStubBuffer *This,
  1909.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1910.     PRPC_MESSAGE _pRpcMessage,
  1911.     DWORD *_pdwStubPhase);
  1912.  
  1913.  
  1914. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetCustData_Proxy( 
  1915.     ICreateTypeInfo2 __RPC_FAR * This,
  1916.     /* [in] */ REFGUID guid,
  1917.     /* [in] */ VARIANT __RPC_FAR *pVarVal);
  1918.  
  1919.  
  1920. void __RPC_STUB ICreateTypeInfo2_SetCustData_Stub(
  1921.     IRpcStubBuffer *This,
  1922.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1923.     PRPC_MESSAGE _pRpcMessage,
  1924.     DWORD *_pdwStubPhase);
  1925.  
  1926.  
  1927. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetFuncCustData_Proxy( 
  1928.     ICreateTypeInfo2 __RPC_FAR * This,
  1929.     /* [in] */ UINT index,
  1930.     /* [in] */ REFGUID guid,
  1931.     /* [in] */ VARIANT __RPC_FAR *pVarVal);
  1932.  
  1933.  
  1934. void __RPC_STUB ICreateTypeInfo2_SetFuncCustData_Stub(
  1935.     IRpcStubBuffer *This,
  1936.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1937.     PRPC_MESSAGE _pRpcMessage,
  1938.     DWORD *_pdwStubPhase);
  1939.  
  1940.  
  1941. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetParamCustData_Proxy( 
  1942.     ICreateTypeInfo2 __RPC_FAR * This,
  1943.     /* [in] */ UINT indexFunc,
  1944.     /* [in] */ UINT indexParam,
  1945.     /* [in] */ REFGUID guid,
  1946.     /* [in] */ VARIANT __RPC_FAR *pVarVal);
  1947.  
  1948.  
  1949. void __RPC_STUB ICreateTypeInfo2_SetParamCustData_Stub(
  1950.     IRpcStubBuffer *This,
  1951.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1952.     PRPC_MESSAGE _pRpcMessage,
  1953.     DWORD *_pdwStubPhase);
  1954.  
  1955.  
  1956. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetVarCustData_Proxy( 
  1957.     ICreateTypeInfo2 __RPC_FAR * This,
  1958.     /* [in] */ UINT index,
  1959.     /* [in] */ REFGUID guid,
  1960.     /* [in] */ VARIANT __RPC_FAR *pVarVal);
  1961.  
  1962.  
  1963. void __RPC_STUB ICreateTypeInfo2_SetVarCustData_Stub(
  1964.     IRpcStubBuffer *This,
  1965.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1966.     PRPC_MESSAGE _pRpcMessage,
  1967.     DWORD *_pdwStubPhase);
  1968.  
  1969.  
  1970. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetImplTypeCustData_Proxy( 
  1971.     ICreateTypeInfo2 __RPC_FAR * This,
  1972.     /* [in] */ UINT index,
  1973.     /* [in] */ REFGUID guid,
  1974.     /* [in] */ VARIANT __RPC_FAR *pVarVal);
  1975.  
  1976.  
  1977. void __RPC_STUB ICreateTypeInfo2_SetImplTypeCustData_Stub(
  1978.     IRpcStubBuffer *This,
  1979.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1980.     PRPC_MESSAGE _pRpcMessage,
  1981.     DWORD *_pdwStubPhase);
  1982.  
  1983.  
  1984. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetHelpStringContext_Proxy( 
  1985.     ICreateTypeInfo2 __RPC_FAR * This,
  1986.     /* [in] */ ULONG dwHelpStringContext);
  1987.  
  1988.  
  1989. void __RPC_STUB ICreateTypeInfo2_SetHelpStringContext_Stub(
  1990.     IRpcStubBuffer *This,
  1991.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1992.     PRPC_MESSAGE _pRpcMessage,
  1993.     DWORD *_pdwStubPhase);
  1994.  
  1995.  
  1996. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetFuncHelpStringContext_Proxy( 
  1997.     ICreateTypeInfo2 __RPC_FAR * This,
  1998.     /* [in] */ UINT index,
  1999.     /* [in] */ ULONG dwHelpStringContext);
  2000.  
  2001.  
  2002. void __RPC_STUB ICreateTypeInfo2_SetFuncHelpStringContext_Stub(
  2003.     IRpcStubBuffer *This,
  2004.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2005.     PRPC_MESSAGE _pRpcMessage,
  2006.     DWORD *_pdwStubPhase);
  2007.  
  2008.  
  2009. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetVarHelpStringContext_Proxy( 
  2010.     ICreateTypeInfo2 __RPC_FAR * This,
  2011.     /* [in] */ UINT index,
  2012.     /* [in] */ ULONG dwHelpStringContext);
  2013.  
  2014.  
  2015. void __RPC_STUB ICreateTypeInfo2_SetVarHelpStringContext_Stub(
  2016.     IRpcStubBuffer *This,
  2017.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2018.     PRPC_MESSAGE _pRpcMessage,
  2019.     DWORD *_pdwStubPhase);
  2020.  
  2021.  
  2022. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_Invalidate_Proxy( 
  2023.     ICreateTypeInfo2 __RPC_FAR * This);
  2024.  
  2025.  
  2026. void __RPC_STUB ICreateTypeInfo2_Invalidate_Stub(
  2027.     IRpcStubBuffer *This,
  2028.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2029.     PRPC_MESSAGE _pRpcMessage,
  2030.     DWORD *_pdwStubPhase);
  2031.  
  2032.  
  2033. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetName_Proxy( 
  2034.     ICreateTypeInfo2 __RPC_FAR * This,
  2035.     /* [in] */ LPOLESTR szName);
  2036.  
  2037.  
  2038. void __RPC_STUB ICreateTypeInfo2_SetName_Stub(
  2039.     IRpcStubBuffer *This,
  2040.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2041.     PRPC_MESSAGE _pRpcMessage,
  2042.     DWORD *_pdwStubPhase);
  2043.  
  2044.  
  2045.  
  2046. #endif     /* __ICreateTypeInfo2_INTERFACE_DEFINED__ */
  2047.  
  2048.  
  2049. #ifndef __ICreateTypeLib_INTERFACE_DEFINED__
  2050. #define __ICreateTypeLib_INTERFACE_DEFINED__
  2051.  
  2052. /****************************************
  2053.  * Generated header for interface: ICreateTypeLib
  2054.  * at Sat Jul 13 21:56:52 1996
  2055.  * using MIDL 3.00.39
  2056.  ****************************************/
  2057. /* [local][unique][uuid][object] */ 
  2058.  
  2059.  
  2060. typedef /* [unique] */ ICreateTypeLib __RPC_FAR *LPCREATETYPELIB;
  2061.  
  2062.  
  2063. EXTERN_C const IID IID_ICreateTypeLib;
  2064.  
  2065. #if defined(__cplusplus) && !defined(CINTERFACE)
  2066.     
  2067.     interface ICreateTypeLib : public IUnknown
  2068.     {
  2069.     public:
  2070.         virtual HRESULT STDMETHODCALLTYPE CreateTypeInfo( 
  2071.             /* [in] */ LPOLESTR szName,
  2072.             /* [in] */ TYPEKIND tkind,
  2073.             /* [out] */ ICreateTypeInfo __RPC_FAR *__RPC_FAR *ppCTInfo) = 0;
  2074.         
  2075.         virtual HRESULT STDMETHODCALLTYPE SetName( 
  2076.             /* [in] */ LPOLESTR szName) = 0;
  2077.         
  2078.         virtual HRESULT STDMETHODCALLTYPE SetVersion( 
  2079.             /* [in] */ WORD wMajorVerNum,
  2080.             /* [in] */ WORD wMinorVerNum) = 0;
  2081.         
  2082.         virtual HRESULT STDMETHODCALLTYPE SetGuid( 
  2083.             /* [in] */ REFGUID guid) = 0;
  2084.         
  2085.         virtual HRESULT STDMETHODCALLTYPE SetDocString( 
  2086.             /* [in] */ LPOLESTR szDoc) = 0;
  2087.         
  2088.         virtual HRESULT STDMETHODCALLTYPE SetHelpFileName( 
  2089.             /* [in] */ LPOLESTR szHelpFileName) = 0;
  2090.         
  2091.         virtual HRESULT STDMETHODCALLTYPE SetHelpContext( 
  2092.             /* [in] */ DWORD dwHelpContext) = 0;
  2093.         
  2094.         virtual HRESULT STDMETHODCALLTYPE SetLcid( 
  2095.             /* [in] */ LCID lcid) = 0;
  2096.         
  2097.         virtual HRESULT STDMETHODCALLTYPE SetLibFlags( 
  2098.             /* [in] */ UINT uLibFlags) = 0;
  2099.         
  2100.         virtual HRESULT STDMETHODCALLTYPE SaveAllChanges( void) = 0;
  2101.         
  2102.     };
  2103.     
  2104. #else     /* C style interface */
  2105.  
  2106.     typedef struct ICreateTypeLibVtbl
  2107.     {
  2108.         BEGIN_INTERFACE
  2109.         
  2110.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2111.             ICreateTypeLib __RPC_FAR * This,
  2112.             /* [in] */ REFIID riid,
  2113.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2114.         
  2115.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2116.             ICreateTypeLib __RPC_FAR * This);
  2117.         
  2118.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2119.             ICreateTypeLib __RPC_FAR * This);
  2120.         
  2121.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateTypeInfo )( 
  2122.             ICreateTypeLib __RPC_FAR * This,
  2123.             /* [in] */ LPOLESTR szName,
  2124.             /* [in] */ TYPEKIND tkind,
  2125.             /* [out] */ ICreateTypeInfo __RPC_FAR *__RPC_FAR *ppCTInfo);
  2126.         
  2127.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetName )( 
  2128.             ICreateTypeLib __RPC_FAR * This,
  2129.             /* [in] */ LPOLESTR szName);
  2130.         
  2131.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetVersion )( 
  2132.             ICreateTypeLib __RPC_FAR * This,
  2133.             /* [in] */ WORD wMajorVerNum,
  2134.             /* [in] */ WORD wMinorVerNum);
  2135.         
  2136.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetGuid )( 
  2137.             ICreateTypeLib __RPC_FAR * This,
  2138.             /* [in] */ REFGUID guid);
  2139.         
  2140.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDocString )( 
  2141.             ICreateTypeLib __RPC_FAR * This,
  2142.             /* [in] */ LPOLESTR szDoc);
  2143.         
  2144.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetHelpFileName )( 
  2145.             ICreateTypeLib __RPC_FAR * This,
  2146.             /* [in] */ LPOLESTR szHelpFileName);
  2147.         
  2148.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetHelpContext )( 
  2149.             ICreateTypeLib __RPC_FAR * This,
  2150.             /* [in] */ DWORD dwHelpContext);
  2151.         
  2152.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetLcid )( 
  2153.             ICreateTypeLib __RPC_FAR * This,
  2154.             /* [in] */ LCID lcid);
  2155.         
  2156.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetLibFlags )( 
  2157.             ICreateTypeLib __RPC_FAR * This,
  2158.             /* [in] */ UINT uLibFlags);
  2159.         
  2160.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SaveAllChanges )( 
  2161.             ICreateTypeLib __RPC_FAR * This);
  2162.         
  2163.         END_INTERFACE
  2164.     } ICreateTypeLibVtbl;
  2165.  
  2166.     interface ICreateTypeLib
  2167.     {
  2168.         CONST_VTBL struct ICreateTypeLibVtbl __RPC_FAR *lpVtbl;
  2169.     };
  2170.  
  2171.     
  2172.  
  2173. #ifdef COBJMACROS
  2174.  
  2175.  
  2176. #define ICreateTypeLib_QueryInterface(This,riid,ppvObject)    \
  2177.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2178.  
  2179. #define ICreateTypeLib_AddRef(This)    \
  2180.     (This)->lpVtbl -> AddRef(This)
  2181.  
  2182. #define ICreateTypeLib_Release(This)    \
  2183.     (This)->lpVtbl -> Release(This)
  2184.  
  2185.  
  2186. #define ICreateTypeLib_CreateTypeInfo(This,szName,tkind,ppCTInfo)    \
  2187.     (This)->lpVtbl -> CreateTypeInfo(This,szName,tkind,ppCTInfo)
  2188.  
  2189. #define ICreateTypeLib_SetName(This,szName)    \
  2190.     (This)->lpVtbl -> SetName(This,szName)
  2191.  
  2192. #define ICreateTypeLib_SetVersion(This,wMajorVerNum,wMinorVerNum)    \
  2193.     (This)->lpVtbl -> SetVersion(This,wMajorVerNum,wMinorVerNum)
  2194.  
  2195. #define ICreateTypeLib_SetGuid(This,guid)    \
  2196.     (This)->lpVtbl -> SetGuid(This,guid)
  2197.  
  2198. #define ICreateTypeLib_SetDocString(This,szDoc)    \
  2199.     (This)->lpVtbl -> SetDocString(This,szDoc)
  2200.  
  2201. #define ICreateTypeLib_SetHelpFileName(This,szHelpFileName)    \
  2202.     (This)->lpVtbl -> SetHelpFileName(This,szHelpFileName)
  2203.  
  2204. #define ICreateTypeLib_SetHelpContext(This,dwHelpContext)    \
  2205.     (This)->lpVtbl -> SetHelpContext(This,dwHelpContext)
  2206.  
  2207. #define ICreateTypeLib_SetLcid(This,lcid)    \
  2208.     (This)->lpVtbl -> SetLcid(This,lcid)
  2209.  
  2210. #define ICreateTypeLib_SetLibFlags(This,uLibFlags)    \
  2211.     (This)->lpVtbl -> SetLibFlags(This,uLibFlags)
  2212.  
  2213. #define ICreateTypeLib_SaveAllChanges(This)    \
  2214.     (This)->lpVtbl -> SaveAllChanges(This)
  2215.  
  2216. #endif /* COBJMACROS */
  2217.  
  2218.  
  2219. #endif     /* C style interface */
  2220.  
  2221.  
  2222.  
  2223. HRESULT STDMETHODCALLTYPE ICreateTypeLib_CreateTypeInfo_Proxy( 
  2224.     ICreateTypeLib __RPC_FAR * This,
  2225.     /* [in] */ LPOLESTR szName,
  2226.     /* [in] */ TYPEKIND tkind,
  2227.     /* [out] */ ICreateTypeInfo __RPC_FAR *__RPC_FAR *ppCTInfo);
  2228.  
  2229.  
  2230. void __RPC_STUB ICreateTypeLib_CreateTypeInfo_Stub(
  2231.     IRpcStubBuffer *This,
  2232.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2233.     PRPC_MESSAGE _pRpcMessage,
  2234.     DWORD *_pdwStubPhase);
  2235.  
  2236.  
  2237. HRESULT STDMETHODCALLTYPE ICreateTypeLib_SetName_Proxy( 
  2238.     ICreateTypeLib __RPC_FAR * This,
  2239.     /* [in] */ LPOLESTR szName);
  2240.  
  2241.  
  2242. void __RPC_STUB ICreateTypeLib_SetName_Stub(
  2243.     IRpcStubBuffer *This,
  2244.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2245.     PRPC_MESSAGE _pRpcMessage,
  2246.     DWORD *_pdwStubPhase);
  2247.  
  2248.  
  2249. HRESULT STDMETHODCALLTYPE ICreateTypeLib_SetVersion_Proxy( 
  2250.     ICreateTypeLib __RPC_FAR * This,
  2251.     /* [in] */ WORD wMajorVerNum,
  2252.     /* [in] */ WORD wMinorVerNum);
  2253.  
  2254.  
  2255. void __RPC_STUB ICreateTypeLib_SetVersion_Stub(
  2256.     IRpcStubBuffer *This,
  2257.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2258.     PRPC_MESSAGE _pRpcMessage,
  2259.     DWORD *_pdwStubPhase);
  2260.  
  2261.  
  2262. HRESULT STDMETHODCALLTYPE ICreateTypeLib_SetGuid_Proxy( 
  2263.     ICreateTypeLib __RPC_FAR * This,
  2264.     /* [in] */ REFGUID guid);
  2265.  
  2266.  
  2267. void __RPC_STUB ICreateTypeLib_SetGuid_Stub(
  2268.     IRpcStubBuffer *This,
  2269.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2270.     PRPC_MESSAGE _pRpcMessage,
  2271.     DWORD *_pdwStubPhase);
  2272.  
  2273.  
  2274. HRESULT STDMETHODCALLTYPE ICreateTypeLib_SetDocString_Proxy( 
  2275.     ICreateTypeLib __RPC_FAR * This,
  2276.     /* [in] */ LPOLESTR szDoc);
  2277.  
  2278.  
  2279. void __RPC_STUB ICreateTypeLib_SetDocString_Stub(
  2280.     IRpcStubBuffer *This,
  2281.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2282.     PRPC_MESSAGE _pRpcMessage,
  2283.     DWORD *_pdwStubPhase);
  2284.  
  2285.  
  2286. HRESULT STDMETHODCALLTYPE ICreateTypeLib_SetHelpFileName_Proxy( 
  2287.     ICreateTypeLib __RPC_FAR * This,
  2288.     /* [in] */ LPOLESTR szHelpFileName);
  2289.  
  2290.  
  2291. void __RPC_STUB ICreateTypeLib_SetHelpFileName_Stub(
  2292.     IRpcStubBuffer *This,
  2293.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2294.     PRPC_MESSAGE _pRpcMessage,
  2295.     DWORD *_pdwStubPhase);
  2296.  
  2297.  
  2298. HRESULT STDMETHODCALLTYPE ICreateTypeLib_SetHelpContext_Proxy( 
  2299.     ICreateTypeLib __RPC_FAR * This,
  2300.     /* [in] */ DWORD dwHelpContext);
  2301.  
  2302.  
  2303. void __RPC_STUB ICreateTypeLib_SetHelpContext_Stub(
  2304.     IRpcStubBuffer *This,
  2305.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2306.     PRPC_MESSAGE _pRpcMessage,
  2307.     DWORD *_pdwStubPhase);
  2308.  
  2309.  
  2310. HRESULT STDMETHODCALLTYPE ICreateTypeLib_SetLcid_Proxy( 
  2311.     ICreateTypeLib __RPC_FAR * This,
  2312.     /* [in] */ LCID lcid);
  2313.  
  2314.  
  2315. void __RPC_STUB ICreateTypeLib_SetLcid_Stub(
  2316.     IRpcStubBuffer *This,
  2317.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2318.     PRPC_MESSAGE _pRpcMessage,
  2319.     DWORD *_pdwStubPhase);
  2320.  
  2321.  
  2322. HRESULT STDMETHODCALLTYPE ICreateTypeLib_SetLibFlags_Proxy( 
  2323.     ICreateTypeLib __RPC_FAR * This,
  2324.     /* [in] */ UINT uLibFlags);
  2325.  
  2326.  
  2327. void __RPC_STUB ICreateTypeLib_SetLibFlags_Stub(
  2328.     IRpcStubBuffer *This,
  2329.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2330.     PRPC_MESSAGE _pRpcMessage,
  2331.     DWORD *_pdwStubPhase);
  2332.  
  2333.  
  2334. HRESULT STDMETHODCALLTYPE ICreateTypeLib_SaveAllChanges_Proxy( 
  2335.     ICreateTypeLib __RPC_FAR * This);
  2336.  
  2337.  
  2338. void __RPC_STUB ICreateTypeLib_SaveAllChanges_Stub(
  2339.     IRpcStubBuffer *This,
  2340.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2341.     PRPC_MESSAGE _pRpcMessage,
  2342.     DWORD *_pdwStubPhase);
  2343.  
  2344.  
  2345.  
  2346. #endif     /* __ICreateTypeLib_INTERFACE_DEFINED__ */
  2347.  
  2348.  
  2349. #ifndef __ICreateTypeLib2_INTERFACE_DEFINED__
  2350. #define __ICreateTypeLib2_INTERFACE_DEFINED__
  2351.  
  2352. /****************************************
  2353.  * Generated header for interface: ICreateTypeLib2
  2354.  * at Sat Jul 13 21:56:52 1996
  2355.  * using MIDL 3.00.39
  2356.  ****************************************/
  2357. /* [local][unique][uuid][object] */ 
  2358.  
  2359.  
  2360. typedef /* [unique] */ ICreateTypeLib2 __RPC_FAR *LPCREATETYPELIB2;
  2361.  
  2362.  
  2363. EXTERN_C const IID IID_ICreateTypeLib2;
  2364.  
  2365. #if defined(__cplusplus) && !defined(CINTERFACE)
  2366.     
  2367.     interface ICreateTypeLib2 : public ICreateTypeLib
  2368.     {
  2369.     public:
  2370.         virtual HRESULT STDMETHODCALLTYPE DeleteTypeInfo( 
  2371.             /* [in] */ LPOLESTR szName) = 0;
  2372.         
  2373.         virtual HRESULT STDMETHODCALLTYPE SetCustData( 
  2374.             /* [in] */ REFGUID guid,
  2375.             /* [in] */ VARIANT __RPC_FAR *pVarVal) = 0;
  2376.         
  2377.         virtual HRESULT STDMETHODCALLTYPE SetHelpStringContext( 
  2378.             /* [in] */ ULONG dwHelpStringContext) = 0;
  2379.         
  2380.         virtual HRESULT STDMETHODCALLTYPE SetHelpStringDll( 
  2381.             /* [in] */ LPOLESTR szFileName) = 0;
  2382.         
  2383.     };
  2384.     
  2385. #else     /* C style interface */
  2386.  
  2387.     typedef struct ICreateTypeLib2Vtbl
  2388.     {
  2389.         BEGIN_INTERFACE
  2390.         
  2391.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2392.             ICreateTypeLib2 __RPC_FAR * This,
  2393.             /* [in] */ REFIID riid,
  2394.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2395.         
  2396.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2397.             ICreateTypeLib2 __RPC_FAR * This);
  2398.         
  2399.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2400.             ICreateTypeLib2 __RPC_FAR * This);
  2401.         
  2402.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateTypeInfo )( 
  2403.             ICreateTypeLib2 __RPC_FAR * This,
  2404.             /* [in] */ LPOLESTR szName,
  2405.             /* [in] */ TYPEKIND tkind,
  2406.             /* [out] */ ICreateTypeInfo __RPC_FAR *__RPC_FAR *ppCTInfo);
  2407.         
  2408.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetName )( 
  2409.             ICreateTypeLib2 __RPC_FAR * This,
  2410.             /* [in] */ LPOLESTR szName);
  2411.         
  2412.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetVersion )( 
  2413.             ICreateTypeLib2 __RPC_FAR * This,
  2414.             /* [in] */ WORD wMajorVerNum,
  2415.             /* [in] */ WORD wMinorVerNum);
  2416.         
  2417.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetGuid )( 
  2418.             ICreateTypeLib2 __RPC_FAR * This,
  2419.             /* [in] */ REFGUID guid);
  2420.         
  2421.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDocString )( 
  2422.             ICreateTypeLib2 __RPC_FAR * This,
  2423.             /* [in] */ LPOLESTR szDoc);
  2424.         
  2425.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetHelpFileName )( 
  2426.             ICreateTypeLib2 __RPC_FAR * This,
  2427.             /* [in] */ LPOLESTR szHelpFileName);
  2428.         
  2429.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetHelpContext )( 
  2430.             ICreateTypeLib2 __RPC_FAR * This,
  2431.             /* [in] */ DWORD dwHelpContext);
  2432.         
  2433.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetLcid )( 
  2434.             ICreateTypeLib2 __RPC_FAR * This,
  2435.             /* [in] */ LCID lcid);
  2436.         
  2437.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetLibFlags )( 
  2438.             ICreateTypeLib2 __RPC_FAR * This,
  2439.             /* [in] */ UINT uLibFlags);
  2440.         
  2441.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SaveAllChanges )( 
  2442.             ICreateTypeLib2 __RPC_FAR * This);
  2443.         
  2444.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteTypeInfo )( 
  2445.             ICreateTypeLib2 __RPC_FAR * This,
  2446.             /* [in] */ LPOLESTR szName);
  2447.         
  2448.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetCustData )( 
  2449.             ICreateTypeLib2 __RPC_FAR * This,
  2450.             /* [in] */ REFGUID guid,
  2451.             /* [in] */ VARIANT __RPC_FAR *pVarVal);
  2452.         
  2453.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetHelpStringContext )( 
  2454.             ICreateTypeLib2 __RPC_FAR * This,
  2455.             /* [in] */ ULONG dwHelpStringContext);
  2456.         
  2457.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetHelpStringDll )( 
  2458.             ICreateTypeLib2 __RPC_FAR * This,
  2459.             /* [in] */ LPOLESTR szFileName);
  2460.         
  2461.         END_INTERFACE
  2462.     } ICreateTypeLib2Vtbl;
  2463.  
  2464.     interface ICreateTypeLib2
  2465.     {
  2466.         CONST_VTBL struct ICreateTypeLib2Vtbl __RPC_FAR *lpVtbl;
  2467.     };
  2468.  
  2469.     
  2470.  
  2471. #ifdef COBJMACROS
  2472.  
  2473.  
  2474. #define ICreateTypeLib2_QueryInterface(This,riid,ppvObject)    \
  2475.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2476.  
  2477. #define ICreateTypeLib2_AddRef(This)    \
  2478.     (This)->lpVtbl -> AddRef(This)
  2479.  
  2480. #define ICreateTypeLib2_Release(This)    \
  2481.     (This)->lpVtbl -> Release(This)
  2482.  
  2483.  
  2484. #define ICreateTypeLib2_CreateTypeInfo(This,szName,tkind,ppCTInfo)    \
  2485.     (This)->lpVtbl -> CreateTypeInfo(This,szName,tkind,ppCTInfo)
  2486.  
  2487. #define ICreateTypeLib2_SetName(This,szName)    \
  2488.     (This)->lpVtbl -> SetName(This,szName)
  2489.  
  2490. #define ICreateTypeLib2_SetVersion(This,wMajorVerNum,wMinorVerNum)    \
  2491.     (This)->lpVtbl -> SetVersion(This,wMajorVerNum,wMinorVerNum)
  2492.  
  2493. #define ICreateTypeLib2_SetGuid(This,guid)    \
  2494.     (This)->lpVtbl -> SetGuid(This,guid)
  2495.  
  2496. #define ICreateTypeLib2_SetDocString(This,szDoc)    \
  2497.     (This)->lpVtbl -> SetDocString(This,szDoc)
  2498.  
  2499. #define ICreateTypeLib2_SetHelpFileName(This,szHelpFileName)    \
  2500.     (This)->lpVtbl -> SetHelpFileName(This,szHelpFileName)
  2501.  
  2502. #define ICreateTypeLib2_SetHelpContext(This,dwHelpContext)    \
  2503.     (This)->lpVtbl -> SetHelpContext(This,dwHelpContext)
  2504.  
  2505. #define ICreateTypeLib2_SetLcid(This,lcid)    \
  2506.     (This)->lpVtbl -> SetLcid(This,lcid)
  2507.  
  2508. #define ICreateTypeLib2_SetLibFlags(This,uLibFlags)    \
  2509.     (This)->lpVtbl -> SetLibFlags(This,uLibFlags)
  2510.  
  2511. #define ICreateTypeLib2_SaveAllChanges(This)    \
  2512.     (This)->lpVtbl -> SaveAllChanges(This)
  2513.  
  2514.  
  2515. #define ICreateTypeLib2_DeleteTypeInfo(This,szName)    \
  2516.     (This)->lpVtbl -> DeleteTypeInfo(This,szName)
  2517.  
  2518. #define ICreateTypeLib2_SetCustData(This,guid,pVarVal)    \
  2519.     (This)->lpVtbl -> SetCustData(This,guid,pVarVal)
  2520.  
  2521. #define ICreateTypeLib2_SetHelpStringContext(This,dwHelpStringContext)    \
  2522.     (This)->lpVtbl -> SetHelpStringContext(This,dwHelpStringContext)
  2523.  
  2524. #define ICreateTypeLib2_SetHelpStringDll(This,szFileName)    \
  2525.     (This)->lpVtbl -> SetHelpStringDll(This,szFileName)
  2526.  
  2527. #endif /* COBJMACROS */
  2528.  
  2529.  
  2530. #endif     /* C style interface */
  2531.  
  2532.  
  2533.  
  2534. HRESULT STDMETHODCALLTYPE ICreateTypeLib2_DeleteTypeInfo_Proxy( 
  2535.     ICreateTypeLib2 __RPC_FAR * This,
  2536.     /* [in] */ LPOLESTR szName);
  2537.  
  2538.  
  2539. void __RPC_STUB ICreateTypeLib2_DeleteTypeInfo_Stub(
  2540.     IRpcStubBuffer *This,
  2541.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2542.     PRPC_MESSAGE _pRpcMessage,
  2543.     DWORD *_pdwStubPhase);
  2544.  
  2545.  
  2546. HRESULT STDMETHODCALLTYPE ICreateTypeLib2_SetCustData_Proxy( 
  2547.     ICreateTypeLib2 __RPC_FAR * This,
  2548.     /* [in] */ REFGUID guid,
  2549.     /* [in] */ VARIANT __RPC_FAR *pVarVal);
  2550.  
  2551.  
  2552. void __RPC_STUB ICreateTypeLib2_SetCustData_Stub(
  2553.     IRpcStubBuffer *This,
  2554.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2555.     PRPC_MESSAGE _pRpcMessage,
  2556.     DWORD *_pdwStubPhase);
  2557.  
  2558.  
  2559. HRESULT STDMETHODCALLTYPE ICreateTypeLib2_SetHelpStringContext_Proxy( 
  2560.     ICreateTypeLib2 __RPC_FAR * This,
  2561.     /* [in] */ ULONG dwHelpStringContext);
  2562.  
  2563.  
  2564. void __RPC_STUB ICreateTypeLib2_SetHelpStringContext_Stub(
  2565.     IRpcStubBuffer *This,
  2566.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2567.     PRPC_MESSAGE _pRpcMessage,
  2568.     DWORD *_pdwStubPhase);
  2569.  
  2570.  
  2571. HRESULT STDMETHODCALLTYPE ICreateTypeLib2_SetHelpStringDll_Proxy( 
  2572.     ICreateTypeLib2 __RPC_FAR * This,
  2573.     /* [in] */ LPOLESTR szFileName);
  2574.  
  2575.  
  2576. void __RPC_STUB ICreateTypeLib2_SetHelpStringDll_Stub(
  2577.     IRpcStubBuffer *This,
  2578.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2579.     PRPC_MESSAGE _pRpcMessage,
  2580.     DWORD *_pdwStubPhase);
  2581.  
  2582.  
  2583.  
  2584. #endif     /* __ICreateTypeLib2_INTERFACE_DEFINED__ */
  2585.  
  2586.  
  2587. #ifndef __IDispatch_INTERFACE_DEFINED__
  2588. #define __IDispatch_INTERFACE_DEFINED__
  2589.  
  2590. /****************************************
  2591.  * Generated header for interface: IDispatch
  2592.  * at Sat Jul 13 21:56:52 1996
  2593.  * using MIDL 3.00.39
  2594.  ****************************************/
  2595. /* [unique][uuid][object] */ 
  2596.  
  2597.  
  2598. typedef /* [unique] */ IDispatch __RPC_FAR *LPDISPATCH;
  2599.  
  2600. /* DISPID reserved to indicate an "unknown" name */
  2601. /* only reserved for data members (properties); reused as a method dispid below */
  2602. #define    DISPID_UNKNOWN    ( -1 )
  2603.  
  2604. /* DISPID reserved for the "value" property */
  2605. #define    DISPID_VALUE    ( 0 )
  2606.  
  2607. /* The following DISPID is reserved to indicate the param
  2608.  * that is the right-hand-side (or "put" value) of a PropertyPut
  2609.  */
  2610. #define    DISPID_PROPERTYPUT    ( -3 )
  2611.  
  2612. /* DISPID reserved for the standard "NewEnum" method */
  2613. #define    DISPID_NEWENUM    ( -4 )
  2614.  
  2615. /* DISPID reserved for the standard "Evaluate" method */
  2616. #define    DISPID_EVALUATE    ( -5 )
  2617.  
  2618. #define    DISPID_CONSTRUCTOR    ( -6 )
  2619.  
  2620. #define    DISPID_DESTRUCTOR    ( -7 )
  2621.  
  2622. #define    DISPID_COLLECT    ( -8 )
  2623.  
  2624. /* The range -500 through -999 is reserved for Controls */
  2625. /* The range 0x80010000 through 0x8001FFFF is reserved for Controls */
  2626. /* The range -5000 through -5499 is reserved for ActiveX Accessability */
  2627. /* The remainder of the negative DISPIDs are reserved for future use */
  2628.  
  2629. EXTERN_C const IID IID_IDispatch;
  2630.  
  2631. #if defined(__cplusplus) && !defined(CINTERFACE)
  2632.     
  2633.     interface IDispatch : public IUnknown
  2634.     {
  2635.     public:
  2636.         virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount( 
  2637.             /* [out] */ UINT __RPC_FAR *pctinfo) = 0;
  2638.         
  2639.         virtual HRESULT STDMETHODCALLTYPE GetTypeInfo( 
  2640.             /* [in] */ UINT iTInfo,
  2641.             /* [in] */ LCID lcid,
  2642.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo) = 0;
  2643.         
  2644.         virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames( 
  2645.             /* [in] */ REFIID riid,
  2646.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  2647.             /* [in] */ UINT cNames,
  2648.             /* [in] */ LCID lcid,
  2649.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId) = 0;
  2650.         
  2651.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Invoke( 
  2652.             /* [in] */ DISPID dispIdMember,
  2653.             /* [in] */ REFIID riid,
  2654.             /* [in] */ LCID lcid,
  2655.             /* [in] */ WORD wFlags,
  2656.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  2657.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  2658.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  2659.             /* [out] */ UINT __RPC_FAR *puArgErr) = 0;
  2660.         
  2661.     };
  2662.     
  2663. #else     /* C style interface */
  2664.  
  2665.     typedef struct IDispatchVtbl
  2666.     {
  2667.         BEGIN_INTERFACE
  2668.         
  2669.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2670.             IDispatch __RPC_FAR * This,
  2671.             /* [in] */ REFIID riid,
  2672.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2673.         
  2674.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2675.             IDispatch __RPC_FAR * This);
  2676.         
  2677.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2678.             IDispatch __RPC_FAR * This);
  2679.         
  2680.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  2681.             IDispatch __RPC_FAR * This,
  2682.             /* [out] */ UINT __RPC_FAR *pctinfo);
  2683.         
  2684.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  2685.             IDispatch __RPC_FAR * This,
  2686.             /* [in] */ UINT iTInfo,
  2687.             /* [in] */ LCID lcid,
  2688.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  2689.         
  2690.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  2691.             IDispatch __RPC_FAR * This,
  2692.             /* [in] */ REFIID riid,
  2693.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  2694.             /* [in] */ UINT cNames,
  2695.             /* [in] */ LCID lcid,
  2696.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  2697.         
  2698.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  2699.             IDispatch __RPC_FAR * This,
  2700.             /* [in] */ DISPID dispIdMember,
  2701.             /* [in] */ REFIID riid,
  2702.             /* [in] */ LCID lcid,
  2703.             /* [in] */ WORD wFlags,
  2704.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  2705.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  2706.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  2707.             /* [out] */ UINT __RPC_FAR *puArgErr);
  2708.         
  2709.         END_INTERFACE
  2710.     } IDispatchVtbl;
  2711.  
  2712.     interface IDispatch
  2713.     {
  2714.         CONST_VTBL struct IDispatchVtbl __RPC_FAR *lpVtbl;
  2715.     };
  2716.  
  2717.     
  2718.  
  2719. #ifdef COBJMACROS
  2720.  
  2721.  
  2722. #define IDispatch_QueryInterface(This,riid,ppvObject)    \
  2723.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2724.  
  2725. #define IDispatch_AddRef(This)    \
  2726.     (This)->lpVtbl -> AddRef(This)
  2727.  
  2728. #define IDispatch_Release(This)    \
  2729.     (This)->lpVtbl -> Release(This)
  2730.  
  2731.  
  2732. #define IDispatch_GetTypeInfoCount(This,pctinfo)    \
  2733.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2734.  
  2735. #define IDispatch_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  2736.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2737.  
  2738. #define IDispatch_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  2739.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2740.  
  2741. #define IDispatch_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  2742.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2743.  
  2744. #endif /* COBJMACROS */
  2745.  
  2746.  
  2747. #endif     /* C style interface */
  2748.  
  2749.  
  2750.  
  2751. HRESULT STDMETHODCALLTYPE IDispatch_GetTypeInfoCount_Proxy( 
  2752.     IDispatch __RPC_FAR * This,
  2753.     /* [out] */ UINT __RPC_FAR *pctinfo);
  2754.  
  2755.  
  2756. void __RPC_STUB IDispatch_GetTypeInfoCount_Stub(
  2757.     IRpcStubBuffer *This,
  2758.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2759.     PRPC_MESSAGE _pRpcMessage,
  2760.     DWORD *_pdwStubPhase);
  2761.  
  2762.  
  2763. HRESULT STDMETHODCALLTYPE IDispatch_GetTypeInfo_Proxy( 
  2764.     IDispatch __RPC_FAR * This,
  2765.     /* [in] */ UINT iTInfo,
  2766.     /* [in] */ LCID lcid,
  2767.     /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  2768.  
  2769.  
  2770. void __RPC_STUB IDispatch_GetTypeInfo_Stub(
  2771.     IRpcStubBuffer *This,
  2772.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2773.     PRPC_MESSAGE _pRpcMessage,
  2774.     DWORD *_pdwStubPhase);
  2775.  
  2776.  
  2777. HRESULT STDMETHODCALLTYPE IDispatch_GetIDsOfNames_Proxy( 
  2778.     IDispatch __RPC_FAR * This,
  2779.     /* [in] */ REFIID riid,
  2780.     /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  2781.     /* [in] */ UINT cNames,
  2782.     /* [in] */ LCID lcid,
  2783.     /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  2784.  
  2785.  
  2786. void __RPC_STUB IDispatch_GetIDsOfNames_Stub(
  2787.     IRpcStubBuffer *This,
  2788.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2789.     PRPC_MESSAGE _pRpcMessage,
  2790.     DWORD *_pdwStubPhase);
  2791.  
  2792.  
  2793. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDispatch_RemoteInvoke_Proxy( 
  2794.     IDispatch __RPC_FAR * This,
  2795.     /* [in] */ DISPID dispIdMember,
  2796.     /* [in] */ REFIID riid,
  2797.     /* [in] */ LCID lcid,
  2798.     /* [in] */ DWORD dwFlags,
  2799.     /* [in] */ DISPPARAMS __RPC_FAR *pDispParams,
  2800.     /* [out] */ VARIANT __RPC_FAR *pVarResult,
  2801.     /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  2802.     /* [out] */ UINT __RPC_FAR *pArgErr,
  2803.     /* [in] */ UINT cVarRef,
  2804.     /* [size_is][in] */ UINT __RPC_FAR *rgVarRefIdx,
  2805.     /* [size_is][out][in] */ VARIANTARG __RPC_FAR *rgVarRef);
  2806.  
  2807.  
  2808. void __RPC_STUB IDispatch_RemoteInvoke_Stub(
  2809.     IRpcStubBuffer *This,
  2810.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2811.     PRPC_MESSAGE _pRpcMessage,
  2812.     DWORD *_pdwStubPhase);
  2813.  
  2814.  
  2815.  
  2816. #endif     /* __IDispatch_INTERFACE_DEFINED__ */
  2817.  
  2818.  
  2819. #ifndef __IEnumVARIANT_INTERFACE_DEFINED__
  2820. #define __IEnumVARIANT_INTERFACE_DEFINED__
  2821.  
  2822. /****************************************
  2823.  * Generated header for interface: IEnumVARIANT
  2824.  * at Sat Jul 13 21:56:52 1996
  2825.  * using MIDL 3.00.39
  2826.  ****************************************/
  2827. /* [unique][uuid][object] */ 
  2828.  
  2829.  
  2830. typedef /* [unique] */ IEnumVARIANT __RPC_FAR *LPENUMVARIANT;
  2831.  
  2832.  
  2833. EXTERN_C const IID IID_IEnumVARIANT;
  2834.  
  2835. #if defined(__cplusplus) && !defined(CINTERFACE)
  2836.     
  2837.     interface IEnumVARIANT : public IUnknown
  2838.     {
  2839.     public:
  2840.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Next( 
  2841.             /* [in] */ ULONG celt,
  2842.             /* [length_is][size_is][out] */ VARIANT __RPC_FAR *rgVar,
  2843.             /* [out] */ ULONG __RPC_FAR *pCeltFetched) = 0;
  2844.         
  2845.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  2846.             /* [in] */ ULONG celt) = 0;
  2847.         
  2848.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  2849.         
  2850.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  2851.             /* [out] */ IEnumVARIANT __RPC_FAR *__RPC_FAR *ppEnum) = 0;
  2852.         
  2853.     };
  2854.     
  2855. #else     /* C style interface */
  2856.  
  2857.     typedef struct IEnumVARIANTVtbl
  2858.     {
  2859.         BEGIN_INTERFACE
  2860.         
  2861.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2862.             IEnumVARIANT __RPC_FAR * This,
  2863.             /* [in] */ REFIID riid,
  2864.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2865.         
  2866.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2867.             IEnumVARIANT __RPC_FAR * This);
  2868.         
  2869.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2870.             IEnumVARIANT __RPC_FAR * This);
  2871.         
  2872.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
  2873.             IEnumVARIANT __RPC_FAR * This,
  2874.             /* [in] */ ULONG celt,
  2875.             /* [length_is][size_is][out] */ VARIANT __RPC_FAR *rgVar,
  2876.             /* [out] */ ULONG __RPC_FAR *pCeltFetched);
  2877.         
  2878.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )( 
  2879.             IEnumVARIANT __RPC_FAR * This,
  2880.             /* [in] */ ULONG celt);
  2881.         
  2882.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )( 
  2883.             IEnumVARIANT __RPC_FAR * This);
  2884.         
  2885.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )( 
  2886.             IEnumVARIANT __RPC_FAR * This,
  2887.             /* [out] */ IEnumVARIANT __RPC_FAR *__RPC_FAR *ppEnum);
  2888.         
  2889.         END_INTERFACE
  2890.     } IEnumVARIANTVtbl;
  2891.  
  2892.     interface IEnumVARIANT
  2893.     {
  2894.         CONST_VTBL struct IEnumVARIANTVtbl __RPC_FAR *lpVtbl;
  2895.     };
  2896.  
  2897.     
  2898.  
  2899. #ifdef COBJMACROS
  2900.  
  2901.  
  2902. #define IEnumVARIANT_QueryInterface(This,riid,ppvObject)    \
  2903.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2904.  
  2905. #define IEnumVARIANT_AddRef(This)    \
  2906.     (This)->lpVtbl -> AddRef(This)
  2907.  
  2908. #define IEnumVARIANT_Release(This)    \
  2909.     (This)->lpVtbl -> Release(This)
  2910.  
  2911.  
  2912. #define IEnumVARIANT_Next(This,celt,rgVar,pCeltFetched)    \
  2913.     (This)->lpVtbl -> Next(This,celt,rgVar,pCeltFetched)
  2914.  
  2915. #define IEnumVARIANT_Skip(This,celt)    \
  2916.     (This)->lpVtbl -> Skip(This,celt)
  2917.  
  2918. #define IEnumVARIANT_Reset(This)    \
  2919.     (This)->lpVtbl -> Reset(This)
  2920.  
  2921. #define IEnumVARIANT_Clone(This,ppEnum)    \
  2922.     (This)->lpVtbl -> Clone(This,ppEnum)
  2923.  
  2924. #endif /* COBJMACROS */
  2925.  
  2926.  
  2927. #endif     /* C style interface */
  2928.  
  2929.  
  2930.  
  2931. /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumVARIANT_RemoteNext_Proxy( 
  2932.     IEnumVARIANT __RPC_FAR * This,
  2933.     /* [in] */ ULONG celt,
  2934.     /* [length_is][size_is][out] */ VARIANT __RPC_FAR *rgVar,
  2935.     /* [out] */ ULONG __RPC_FAR *pCeltFetched);
  2936.  
  2937.  
  2938. void __RPC_STUB IEnumVARIANT_RemoteNext_Stub(
  2939.     IRpcStubBuffer *This,
  2940.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2941.     PRPC_MESSAGE _pRpcMessage,
  2942.     DWORD *_pdwStubPhase);
  2943.  
  2944.  
  2945. HRESULT STDMETHODCALLTYPE IEnumVARIANT_Skip_Proxy( 
  2946.     IEnumVARIANT __RPC_FAR * This,
  2947.     /* [in] */ ULONG celt);
  2948.  
  2949.  
  2950. void __RPC_STUB IEnumVARIANT_Skip_Stub(
  2951.     IRpcStubBuffer *This,
  2952.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2953.     PRPC_MESSAGE _pRpcMessage,
  2954.     DWORD *_pdwStubPhase);
  2955.  
  2956.  
  2957. HRESULT STDMETHODCALLTYPE IEnumVARIANT_Reset_Proxy( 
  2958.     IEnumVARIANT __RPC_FAR * This);
  2959.  
  2960.  
  2961. void __RPC_STUB IEnumVARIANT_Reset_Stub(
  2962.     IRpcStubBuffer *This,
  2963.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2964.     PRPC_MESSAGE _pRpcMessage,
  2965.     DWORD *_pdwStubPhase);
  2966.  
  2967.  
  2968. HRESULT STDMETHODCALLTYPE IEnumVARIANT_Clone_Proxy( 
  2969.     IEnumVARIANT __RPC_FAR * This,
  2970.     /* [out] */ IEnumVARIANT __RPC_FAR *__RPC_FAR *ppEnum);
  2971.  
  2972.  
  2973. void __RPC_STUB IEnumVARIANT_Clone_Stub(
  2974.     IRpcStubBuffer *This,
  2975.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2976.     PRPC_MESSAGE _pRpcMessage,
  2977.     DWORD *_pdwStubPhase);
  2978.  
  2979.  
  2980.  
  2981. #endif     /* __IEnumVARIANT_INTERFACE_DEFINED__ */
  2982.  
  2983.  
  2984. #ifndef __ITypeComp_INTERFACE_DEFINED__
  2985. #define __ITypeComp_INTERFACE_DEFINED__
  2986.  
  2987. /****************************************
  2988.  * Generated header for interface: ITypeComp
  2989.  * at Sat Jul 13 21:56:52 1996
  2990.  * using MIDL 3.00.39
  2991.  ****************************************/
  2992. /* [unique][uuid][object] */ 
  2993.  
  2994.  
  2995. typedef /* [unique] */ ITypeComp __RPC_FAR *LPTYPECOMP;
  2996.  
  2997. typedef /* [v1_enum] */ 
  2998. enum tagDESCKIND
  2999.     {    DESCKIND_NONE    = 0,
  3000.     DESCKIND_FUNCDESC    = DESCKIND_NONE + 1,
  3001.     DESCKIND_VARDESC    = DESCKIND_FUNCDESC + 1,
  3002.     DESCKIND_TYPECOMP    = DESCKIND_VARDESC + 1,
  3003.     DESCKIND_IMPLICITAPPOBJ    = DESCKIND_TYPECOMP + 1,
  3004.     DESCKIND_MAX    = DESCKIND_IMPLICITAPPOBJ + 1
  3005.     }    DESCKIND;
  3006.  
  3007. typedef union tagBINDPTR
  3008.     {
  3009.     FUNCDESC __RPC_FAR *lpfuncdesc;
  3010.     VARDESC __RPC_FAR *lpvardesc;
  3011.     ITypeComp __RPC_FAR *lptcomp;
  3012.     }    BINDPTR;
  3013.  
  3014. typedef union tagBINDPTR __RPC_FAR *LPBINDPTR;
  3015.  
  3016.  
  3017. EXTERN_C const IID IID_ITypeComp;
  3018.  
  3019. #if defined(__cplusplus) && !defined(CINTERFACE)
  3020.     
  3021.     interface ITypeComp : public IUnknown
  3022.     {
  3023.     public:
  3024.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Bind( 
  3025.             /* [in] */ LPOLESTR szName,
  3026.             /* [in] */ ULONG lHashVal,
  3027.             /* [in] */ WORD wFlags,
  3028.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo,
  3029.             /* [out] */ DESCKIND __RPC_FAR *pDescKind,
  3030.             /* [out] */ BINDPTR __RPC_FAR *pBindPtr) = 0;
  3031.         
  3032.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE BindType( 
  3033.             /* [in] */ LPOLESTR szName,
  3034.             /* [in] */ ULONG lHashVal,
  3035.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo,
  3036.             /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *ppTComp) = 0;
  3037.         
  3038.     };
  3039.     
  3040. #else     /* C style interface */
  3041.  
  3042.     typedef struct ITypeCompVtbl
  3043.     {
  3044.         BEGIN_INTERFACE
  3045.         
  3046.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3047.             ITypeComp __RPC_FAR * This,
  3048.             /* [in] */ REFIID riid,
  3049.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3050.         
  3051.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3052.             ITypeComp __RPC_FAR * This);
  3053.         
  3054.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3055.             ITypeComp __RPC_FAR * This);
  3056.         
  3057.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Bind )( 
  3058.             ITypeComp __RPC_FAR * This,
  3059.             /* [in] */ LPOLESTR szName,
  3060.             /* [in] */ ULONG lHashVal,
  3061.             /* [in] */ WORD wFlags,
  3062.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo,
  3063.             /* [out] */ DESCKIND __RPC_FAR *pDescKind,
  3064.             /* [out] */ BINDPTR __RPC_FAR *pBindPtr);
  3065.         
  3066.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BindType )( 
  3067.             ITypeComp __RPC_FAR * This,
  3068.             /* [in] */ LPOLESTR szName,
  3069.             /* [in] */ ULONG lHashVal,
  3070.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo,
  3071.             /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *ppTComp);
  3072.         
  3073.         END_INTERFACE
  3074.     } ITypeCompVtbl;
  3075.  
  3076.     interface ITypeComp
  3077.     {
  3078.         CONST_VTBL struct ITypeCompVtbl __RPC_FAR *lpVtbl;
  3079.     };
  3080.  
  3081.     
  3082.  
  3083. #ifdef COBJMACROS
  3084.  
  3085.  
  3086. #define ITypeComp_QueryInterface(This,riid,ppvObject)    \
  3087.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3088.  
  3089. #define ITypeComp_AddRef(This)    \
  3090.     (This)->lpVtbl -> AddRef(This)
  3091.  
  3092. #define ITypeComp_Release(This)    \
  3093.     (This)->lpVtbl -> Release(This)
  3094.  
  3095.  
  3096. #define ITypeComp_Bind(This,szName,lHashVal,wFlags,ppTInfo,pDescKind,pBindPtr)    \
  3097.     (This)->lpVtbl -> Bind(This,szName,lHashVal,wFlags,ppTInfo,pDescKind,pBindPtr)
  3098.  
  3099. #define ITypeComp_BindType(This,szName,lHashVal,ppTInfo,ppTComp)    \
  3100.     (This)->lpVtbl -> BindType(This,szName,lHashVal,ppTInfo,ppTComp)
  3101.  
  3102. #endif /* COBJMACROS */
  3103.  
  3104.  
  3105. #endif     /* C style interface */
  3106.  
  3107.  
  3108.  
  3109. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeComp_RemoteBind_Proxy( 
  3110.     ITypeComp __RPC_FAR * This,
  3111.     /* [in] */ LPOLESTR szName,
  3112.     /* [in] */ ULONG lHashVal,
  3113.     /* [in] */ WORD wFlags,
  3114.     /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo,
  3115.     /* [out] */ DESCKIND __RPC_FAR *pDescKind,
  3116.     /* [out] */ LPFUNCDESC __RPC_FAR *ppFuncDesc,
  3117.     /* [out] */ LPVARDESC __RPC_FAR *ppVarDesc,
  3118.     /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *ppTypeComp,
  3119.     /* [out] */ CLEANLOCALSTORAGE __RPC_FAR *pDummy);
  3120.  
  3121.  
  3122. void __RPC_STUB ITypeComp_RemoteBind_Stub(
  3123.     IRpcStubBuffer *This,
  3124.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3125.     PRPC_MESSAGE _pRpcMessage,
  3126.     DWORD *_pdwStubPhase);
  3127.  
  3128.  
  3129. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeComp_RemoteBindType_Proxy( 
  3130.     ITypeComp __RPC_FAR * This,
  3131.     /* [in] */ LPOLESTR szName,
  3132.     /* [in] */ ULONG lHashVal,
  3133.     /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  3134.  
  3135.  
  3136. void __RPC_STUB ITypeComp_RemoteBindType_Stub(
  3137.     IRpcStubBuffer *This,
  3138.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3139.     PRPC_MESSAGE _pRpcMessage,
  3140.     DWORD *_pdwStubPhase);
  3141.  
  3142.  
  3143.  
  3144. #endif     /* __ITypeComp_INTERFACE_DEFINED__ */
  3145.  
  3146.  
  3147. #ifndef __ITypeInfo_INTERFACE_DEFINED__
  3148. #define __ITypeInfo_INTERFACE_DEFINED__
  3149.  
  3150. /****************************************
  3151.  * Generated header for interface: ITypeInfo
  3152.  * at Sat Jul 13 21:56:52 1996
  3153.  * using MIDL 3.00.39
  3154.  ****************************************/
  3155. /* [unique][uuid][object] */ 
  3156.  
  3157.  
  3158. typedef /* [unique] */ ITypeInfo __RPC_FAR *LPTYPEINFO;
  3159.  
  3160.  
  3161. EXTERN_C const IID IID_ITypeInfo;
  3162.  
  3163. #if defined(__cplusplus) && !defined(CINTERFACE)
  3164.     
  3165.     interface ITypeInfo : public IUnknown
  3166.     {
  3167.     public:
  3168.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetTypeAttr( 
  3169.             /* [out] */ TYPEATTR __RPC_FAR *__RPC_FAR *ppTypeAttr) = 0;
  3170.         
  3171.         virtual HRESULT STDMETHODCALLTYPE GetTypeComp( 
  3172.             /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *ppTComp) = 0;
  3173.         
  3174.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetFuncDesc( 
  3175.             /* [in] */ UINT index,
  3176.             /* [out] */ FUNCDESC __RPC_FAR *__RPC_FAR *ppFuncDesc) = 0;
  3177.         
  3178.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetVarDesc( 
  3179.             /* [in] */ UINT index,
  3180.             /* [out] */ VARDESC __RPC_FAR *__RPC_FAR *ppVarDesc) = 0;
  3181.         
  3182.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetNames( 
  3183.             /* [in] */ MEMBERID memid,
  3184.             /* [length_is][size_is][out] */ BSTR __RPC_FAR *rgBstrNames,
  3185.             /* [in] */ UINT cMaxNames,
  3186.             /* [out] */ UINT __RPC_FAR *pcNames) = 0;
  3187.         
  3188.         virtual HRESULT STDMETHODCALLTYPE GetRefTypeOfImplType( 
  3189.             /* [in] */ UINT index,
  3190.             /* [out] */ HREFTYPE __RPC_FAR *pRefType) = 0;
  3191.         
  3192.         virtual HRESULT STDMETHODCALLTYPE GetImplTypeFlags( 
  3193.             /* [in] */ UINT index,
  3194.             /* [out] */ INT __RPC_FAR *pImplTypeFlags) = 0;
  3195.         
  3196.         virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames( 
  3197.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  3198.             /* [in] */ UINT cNames,
  3199.             /* [size_is][out] */ MEMBERID __RPC_FAR *pMemId) = 0;
  3200.         
  3201.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Invoke( 
  3202.             /* [in] */ PVOID pvInstance,
  3203.             /* [in] */ MEMBERID memid,
  3204.             /* [in] */ WORD wFlags,
  3205.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  3206.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  3207.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  3208.             /* [out] */ UINT __RPC_FAR *puArgErr) = 0;
  3209.         
  3210.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDocumentation( 
  3211.             /* [in] */ MEMBERID memid,
  3212.             /* [out] */ BSTR __RPC_FAR *pBstrName,
  3213.             /* [out] */ BSTR __RPC_FAR *pBstrDocString,
  3214.             /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
  3215.             /* [out] */ BSTR __RPC_FAR *pBstrHelpFile) = 0;
  3216.         
  3217.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDllEntry( 
  3218.             /* [in] */ MEMBERID memid,
  3219.             /* [in] */ INVOKEKIND invKind,
  3220.             /* [out] */ BSTR __RPC_FAR *pBstrDllName,
  3221.             /* [out] */ BSTR __RPC_FAR *pBstrName,
  3222.             /* [out] */ WORD __RPC_FAR *pwOrdinal) = 0;
  3223.         
  3224.         virtual HRESULT STDMETHODCALLTYPE GetRefTypeInfo( 
  3225.             /* [in] */ HREFTYPE hRefType,
  3226.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo) = 0;
  3227.         
  3228.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE AddressOfMember( 
  3229.             /* [in] */ MEMBERID memid,
  3230.             /* [in] */ INVOKEKIND invKind,
  3231.             /* [out] */ PVOID __RPC_FAR *ppv) = 0;
  3232.         
  3233.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateInstance( 
  3234.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  3235.             /* [in] */ REFIID riid,
  3236.             /* [iid_is][out] */ PVOID __RPC_FAR *ppvObj) = 0;
  3237.         
  3238.         virtual HRESULT STDMETHODCALLTYPE GetMops( 
  3239.             /* [in] */ MEMBERID memid,
  3240.             /* [out] */ BSTR __RPC_FAR *pBstrMops) = 0;
  3241.         
  3242.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetContainingTypeLib( 
  3243.             /* [out] */ ITypeLib __RPC_FAR *__RPC_FAR *ppTLib,
  3244.             /* [out] */ UINT __RPC_FAR *pIndex) = 0;
  3245.         
  3246.         virtual /* [local] */ void STDMETHODCALLTYPE ReleaseTypeAttr( 
  3247.             /* [in] */ TYPEATTR __RPC_FAR *pTypeAttr) = 0;
  3248.         
  3249.         virtual /* [local] */ void STDMETHODCALLTYPE ReleaseFuncDesc( 
  3250.             /* [in] */ FUNCDESC __RPC_FAR *pFuncDesc) = 0;
  3251.         
  3252.         virtual /* [local] */ void STDMETHODCALLTYPE ReleaseVarDesc( 
  3253.             /* [in] */ VARDESC __RPC_FAR *pVarDesc) = 0;
  3254.         
  3255.     };
  3256.     
  3257. #else     /* C style interface */
  3258.  
  3259.     typedef struct ITypeInfoVtbl
  3260.     {
  3261.         BEGIN_INTERFACE
  3262.         
  3263.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3264.             ITypeInfo __RPC_FAR * This,
  3265.             /* [in] */ REFIID riid,
  3266.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3267.         
  3268.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3269.             ITypeInfo __RPC_FAR * This);
  3270.         
  3271.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3272.             ITypeInfo __RPC_FAR * This);
  3273.         
  3274.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeAttr )( 
  3275.             ITypeInfo __RPC_FAR * This,
  3276.             /* [out] */ TYPEATTR __RPC_FAR *__RPC_FAR *ppTypeAttr);
  3277.         
  3278.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeComp )( 
  3279.             ITypeInfo __RPC_FAR * This,
  3280.             /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *ppTComp);
  3281.         
  3282.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFuncDesc )( 
  3283.             ITypeInfo __RPC_FAR * This,
  3284.             /* [in] */ UINT index,
  3285.             /* [out] */ FUNCDESC __RPC_FAR *__RPC_FAR *ppFuncDesc);
  3286.         
  3287.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetVarDesc )( 
  3288.             ITypeInfo __RPC_FAR * This,
  3289.             /* [in] */ UINT index,
  3290.             /* [out] */ VARDESC __RPC_FAR *__RPC_FAR *ppVarDesc);
  3291.         
  3292.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNames )( 
  3293.             ITypeInfo __RPC_FAR * This,
  3294.             /* [in] */ MEMBERID memid,
  3295.             /* [length_is][size_is][out] */ BSTR __RPC_FAR *rgBstrNames,
  3296.             /* [in] */ UINT cMaxNames,
  3297.             /* [out] */ UINT __RPC_FAR *pcNames);
  3298.         
  3299.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRefTypeOfImplType )( 
  3300.             ITypeInfo __RPC_FAR * This,
  3301.             /* [in] */ UINT index,
  3302.             /* [out] */ HREFTYPE __RPC_FAR *pRefType);
  3303.         
  3304.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetImplTypeFlags )( 
  3305.             ITypeInfo __RPC_FAR * This,
  3306.             /* [in] */ UINT index,
  3307.             /* [out] */ INT __RPC_FAR *pImplTypeFlags);
  3308.         
  3309.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  3310.             ITypeInfo __RPC_FAR * This,
  3311.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  3312.             /* [in] */ UINT cNames,
  3313.             /* [size_is][out] */ MEMBERID __RPC_FAR *pMemId);
  3314.         
  3315.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  3316.             ITypeInfo __RPC_FAR * This,
  3317.             /* [in] */ PVOID pvInstance,
  3318.             /* [in] */ MEMBERID memid,
  3319.             /* [in] */ WORD wFlags,
  3320.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  3321.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  3322.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  3323.             /* [out] */ UINT __RPC_FAR *puArgErr);
  3324.         
  3325.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDocumentation )( 
  3326.             ITypeInfo __RPC_FAR * This,
  3327.             /* [in] */ MEMBERID memid,
  3328.             /* [out] */ BSTR __RPC_FAR *pBstrName,
  3329.             /* [out] */ BSTR __RPC_FAR *pBstrDocString,
  3330.             /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
  3331.             /* [out] */ BSTR __RPC_FAR *pBstrHelpFile);
  3332.         
  3333.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDllEntry )( 
  3334.             ITypeInfo __RPC_FAR * This,
  3335.             /* [in] */ MEMBERID memid,
  3336.             /* [in] */ INVOKEKIND invKind,
  3337.             /* [out] */ BSTR __RPC_FAR *pBstrDllName,
  3338.             /* [out] */ BSTR __RPC_FAR *pBstrName,
  3339.             /* [out] */ WORD __RPC_FAR *pwOrdinal);
  3340.         
  3341.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRefTypeInfo )( 
  3342.             ITypeInfo __RPC_FAR * This,
  3343.             /* [in] */ HREFTYPE hRefType,
  3344.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  3345.         
  3346.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddressOfMember )( 
  3347.             ITypeInfo __RPC_FAR * This,
  3348.             /* [in] */ MEMBERID memid,
  3349.             /* [in] */ INVOKEKIND invKind,
  3350.             /* [out] */ PVOID __RPC_FAR *ppv);
  3351.         
  3352.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateInstance )( 
  3353.             ITypeInfo __RPC_FAR * This,
  3354.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  3355.             /* [in] */ REFIID riid,
  3356.             /* [iid_is][out] */ PVOID __RPC_FAR *ppvObj);
  3357.         
  3358.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMops )( 
  3359.             ITypeInfo __RPC_FAR * This,
  3360.             /* [in] */ MEMBERID memid,
  3361.             /* [out] */ BSTR __RPC_FAR *pBstrMops);
  3362.         
  3363.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetContainingTypeLib )( 
  3364.             ITypeInfo __RPC_FAR * This,
  3365.             /* [out] */ ITypeLib __RPC_FAR *__RPC_FAR *ppTLib,
  3366.             /* [out] */ UINT __RPC_FAR *pIndex);
  3367.         
  3368.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *ReleaseTypeAttr )( 
  3369.             ITypeInfo __RPC_FAR * This,
  3370.             /* [in] */ TYPEATTR __RPC_FAR *pTypeAttr);
  3371.         
  3372.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *ReleaseFuncDesc )( 
  3373.             ITypeInfo __RPC_FAR * This,
  3374.             /* [in] */ FUNCDESC __RPC_FAR *pFuncDesc);
  3375.         
  3376.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *ReleaseVarDesc )( 
  3377.             ITypeInfo __RPC_FAR * This,
  3378.             /* [in] */ VARDESC __RPC_FAR *pVarDesc);
  3379.         
  3380.         END_INTERFACE
  3381.     } ITypeInfoVtbl;
  3382.  
  3383.     interface ITypeInfo
  3384.     {
  3385.         CONST_VTBL struct ITypeInfoVtbl __RPC_FAR *lpVtbl;
  3386.     };
  3387.  
  3388.     
  3389.  
  3390. #ifdef COBJMACROS
  3391.  
  3392.  
  3393. #define ITypeInfo_QueryInterface(This,riid,ppvObject)    \
  3394.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3395.  
  3396. #define ITypeInfo_AddRef(This)    \
  3397.     (This)->lpVtbl -> AddRef(This)
  3398.  
  3399. #define ITypeInfo_Release(This)    \
  3400.     (This)->lpVtbl -> Release(This)
  3401.  
  3402.  
  3403. #define ITypeInfo_GetTypeAttr(This,ppTypeAttr)    \
  3404.     (This)->lpVtbl -> GetTypeAttr(This,ppTypeAttr)
  3405.  
  3406. #define ITypeInfo_GetTypeComp(This,ppTComp)    \
  3407.     (This)->lpVtbl -> GetTypeComp(This,ppTComp)
  3408.  
  3409. #define ITypeInfo_GetFuncDesc(This,index,ppFuncDesc)    \
  3410.     (This)->lpVtbl -> GetFuncDesc(This,index,ppFuncDesc)
  3411.  
  3412. #define ITypeInfo_GetVarDesc(This,index,ppVarDesc)    \
  3413.     (This)->lpVtbl -> GetVarDesc(This,index,ppVarDesc)
  3414.  
  3415. #define ITypeInfo_GetNames(This,memid,rgBstrNames,cMaxNames,pcNames)    \
  3416.     (This)->lpVtbl -> GetNames(This,memid,rgBstrNames,cMaxNames,pcNames)
  3417.  
  3418. #define ITypeInfo_GetRefTypeOfImplType(This,index,pRefType)    \
  3419.     (This)->lpVtbl -> GetRefTypeOfImplType(This,index,pRefType)
  3420.  
  3421. #define ITypeInfo_GetImplTypeFlags(This,index,pImplTypeFlags)    \
  3422.     (This)->lpVtbl -> GetImplTypeFlags(This,index,pImplTypeFlags)
  3423.  
  3424. #define ITypeInfo_GetIDsOfNames(This,rgszNames,cNames,pMemId)    \
  3425.     (This)->lpVtbl -> GetIDsOfNames(This,rgszNames,cNames,pMemId)
  3426.  
  3427. #define ITypeInfo_Invoke(This,pvInstance,memid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  3428.     (This)->lpVtbl -> Invoke(This,pvInstance,memid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3429.  
  3430. #define ITypeInfo_GetDocumentation(This,memid,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile)    \
  3431.     (This)->lpVtbl -> GetDocumentation(This,memid,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile)
  3432.  
  3433. #define ITypeInfo_GetDllEntry(This,memid,invKind,pBstrDllName,pBstrName,pwOrdinal)    \
  3434.     (This)->lpVtbl -> GetDllEntry(This,memid,invKind,pBstrDllName,pBstrName,pwOrdinal)
  3435.  
  3436. #define ITypeInfo_GetRefTypeInfo(This,hRefType,ppTInfo)    \
  3437.     (This)->lpVtbl -> GetRefTypeInfo(This,hRefType,ppTInfo)
  3438.  
  3439. #define ITypeInfo_AddressOfMember(This,memid,invKind,ppv)    \
  3440.     (This)->lpVtbl -> AddressOfMember(This,memid,invKind,ppv)
  3441.  
  3442. #define ITypeInfo_CreateInstance(This,pUnkOuter,riid,ppvObj)    \
  3443.     (This)->lpVtbl -> CreateInstance(This,pUnkOuter,riid,ppvObj)
  3444.  
  3445. #define ITypeInfo_GetMops(This,memid,pBstrMops)    \
  3446.     (This)->lpVtbl -> GetMops(This,memid,pBstrMops)
  3447.  
  3448. #define ITypeInfo_GetContainingTypeLib(This,ppTLib,pIndex)    \
  3449.     (This)->lpVtbl -> GetContainingTypeLib(This,ppTLib,pIndex)
  3450.  
  3451. #define ITypeInfo_ReleaseTypeAttr(This,pTypeAttr)    \
  3452.     (This)->lpVtbl -> ReleaseTypeAttr(This,pTypeAttr)
  3453.  
  3454. #define ITypeInfo_ReleaseFuncDesc(This,pFuncDesc)    \
  3455.     (This)->lpVtbl -> ReleaseFuncDesc(This,pFuncDesc)
  3456.  
  3457. #define ITypeInfo_ReleaseVarDesc(This,pVarDesc)    \
  3458.     (This)->lpVtbl -> ReleaseVarDesc(This,pVarDesc)
  3459.  
  3460. #endif /* COBJMACROS */
  3461.  
  3462.  
  3463. #endif     /* C style interface */
  3464.  
  3465.  
  3466.  
  3467. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetTypeAttr_Proxy( 
  3468.     ITypeInfo __RPC_FAR * This,
  3469.     /* [out] */ LPTYPEATTR __RPC_FAR *ppTypeAttr,
  3470.     /* [out] */ CLEANLOCALSTORAGE __RPC_FAR *pDummy);
  3471.  
  3472.  
  3473. void __RPC_STUB ITypeInfo_RemoteGetTypeAttr_Stub(
  3474.     IRpcStubBuffer *This,
  3475.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3476.     PRPC_MESSAGE _pRpcMessage,
  3477.     DWORD *_pdwStubPhase);
  3478.  
  3479.  
  3480. HRESULT STDMETHODCALLTYPE ITypeInfo_GetTypeComp_Proxy( 
  3481.     ITypeInfo __RPC_FAR * This,
  3482.     /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *ppTComp);
  3483.  
  3484.  
  3485. void __RPC_STUB ITypeInfo_GetTypeComp_Stub(
  3486.     IRpcStubBuffer *This,
  3487.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3488.     PRPC_MESSAGE _pRpcMessage,
  3489.     DWORD *_pdwStubPhase);
  3490.  
  3491.  
  3492. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetFuncDesc_Proxy( 
  3493.     ITypeInfo __RPC_FAR * This,
  3494.     /* [in] */ UINT index,
  3495.     /* [out] */ LPFUNCDESC __RPC_FAR *ppFuncDesc,
  3496.     /* [out] */ CLEANLOCALSTORAGE __RPC_FAR *pDummy);
  3497.  
  3498.  
  3499. void __RPC_STUB ITypeInfo_RemoteGetFuncDesc_Stub(
  3500.     IRpcStubBuffer *This,
  3501.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3502.     PRPC_MESSAGE _pRpcMessage,
  3503.     DWORD *_pdwStubPhase);
  3504.  
  3505.  
  3506. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetVarDesc_Proxy( 
  3507.     ITypeInfo __RPC_FAR * This,
  3508.     /* [in] */ UINT index,
  3509.     /* [out] */ LPVARDESC __RPC_FAR *ppVarDesc,
  3510.     /* [out] */ CLEANLOCALSTORAGE __RPC_FAR *pDummy);
  3511.  
  3512.  
  3513. void __RPC_STUB ITypeInfo_RemoteGetVarDesc_Stub(
  3514.     IRpcStubBuffer *This,
  3515.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3516.     PRPC_MESSAGE _pRpcMessage,
  3517.     DWORD *_pdwStubPhase);
  3518.  
  3519.  
  3520. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetNames_Proxy( 
  3521.     ITypeInfo __RPC_FAR * This,
  3522.     /* [in] */ MEMBERID memid,
  3523.     /* [length_is][size_is][out] */ BSTR __RPC_FAR *rgBstrNames,
  3524.     /* [in] */ UINT cMaxNames,
  3525.     /* [out] */ UINT __RPC_FAR *pcNames);
  3526.  
  3527.  
  3528. void __RPC_STUB ITypeInfo_RemoteGetNames_Stub(
  3529.     IRpcStubBuffer *This,
  3530.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3531.     PRPC_MESSAGE _pRpcMessage,
  3532.     DWORD *_pdwStubPhase);
  3533.  
  3534.  
  3535. HRESULT STDMETHODCALLTYPE ITypeInfo_GetRefTypeOfImplType_Proxy( 
  3536.     ITypeInfo __RPC_FAR * This,
  3537.     /* [in] */ UINT index,
  3538.     /* [out] */ HREFTYPE __RPC_FAR *pRefType);
  3539.  
  3540.  
  3541. void __RPC_STUB ITypeInfo_GetRefTypeOfImplType_Stub(
  3542.     IRpcStubBuffer *This,
  3543.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3544.     PRPC_MESSAGE _pRpcMessage,
  3545.     DWORD *_pdwStubPhase);
  3546.  
  3547.  
  3548. HRESULT STDMETHODCALLTYPE ITypeInfo_GetImplTypeFlags_Proxy( 
  3549.     ITypeInfo __RPC_FAR * This,
  3550.     /* [in] */ UINT index,
  3551.     /* [out] */ INT __RPC_FAR *pImplTypeFlags);
  3552.  
  3553.  
  3554. void __RPC_STUB ITypeInfo_GetImplTypeFlags_Stub(
  3555.     IRpcStubBuffer *This,
  3556.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3557.     PRPC_MESSAGE _pRpcMessage,
  3558.     DWORD *_pdwStubPhase);
  3559.  
  3560.  
  3561. HRESULT STDMETHODCALLTYPE ITypeInfo_GetIDsOfNames_Proxy( 
  3562.     ITypeInfo __RPC_FAR * This,
  3563.     /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  3564.     /* [in] */ UINT cNames,
  3565.     /* [size_is][out] */ MEMBERID __RPC_FAR *pMemId);
  3566.  
  3567.  
  3568. void __RPC_STUB ITypeInfo_GetIDsOfNames_Stub(
  3569.     IRpcStubBuffer *This,
  3570.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3571.     PRPC_MESSAGE _pRpcMessage,
  3572.     DWORD *_pdwStubPhase);
  3573.  
  3574.  
  3575. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteInvoke_Proxy( 
  3576.     ITypeInfo __RPC_FAR * This,
  3577.     /* [in] */ IUnknown __RPC_FAR *pIUnk,
  3578.     /* [in] */ MEMBERID memid,
  3579.     /* [in] */ DWORD dwFlags,
  3580.     /* [in] */ DISPPARAMS __RPC_FAR *pDispParams,
  3581.     /* [out] */ VARIANT __RPC_FAR *pVarResult,
  3582.     /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  3583.     /* [out] */ UINT __RPC_FAR *pArgErr,
  3584.     /* [in] */ UINT cVarRef,
  3585.     /* [size_is][in] */ UINT __RPC_FAR *rgVarRefIdx,
  3586.     /* [size_is][out][in] */ VARIANTARG __RPC_FAR *rgVarRef);
  3587.  
  3588.  
  3589. void __RPC_STUB ITypeInfo_RemoteInvoke_Stub(
  3590.     IRpcStubBuffer *This,
  3591.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3592.     PRPC_MESSAGE _pRpcMessage,
  3593.     DWORD *_pdwStubPhase);
  3594.  
  3595.  
  3596. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetDocumentation_Proxy( 
  3597.     ITypeInfo __RPC_FAR * This,
  3598.     /* [in] */ MEMBERID memid,
  3599.     /* [in] */ DWORD refPtrFlags,
  3600.     /* [out] */ BSTR __RPC_FAR *pBstrName,
  3601.     /* [out] */ BSTR __RPC_FAR *pBstrDocString,
  3602.     /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
  3603.     /* [out] */ BSTR __RPC_FAR *pBstrHelpFile);
  3604.  
  3605.  
  3606. void __RPC_STUB ITypeInfo_RemoteGetDocumentation_Stub(
  3607.     IRpcStubBuffer *This,
  3608.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3609.     PRPC_MESSAGE _pRpcMessage,
  3610.     DWORD *_pdwStubPhase);
  3611.  
  3612.  
  3613. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetDllEntry_Proxy( 
  3614.     ITypeInfo __RPC_FAR * This,
  3615.     /* [in] */ MEMBERID memid,
  3616.     /* [in] */ INVOKEKIND invKind,
  3617.     /* [in] */ DWORD refPtrFlags,
  3618.     /* [out] */ BSTR __RPC_FAR *pBstrDllName,
  3619.     /* [out] */ BSTR __RPC_FAR *pBstrName,
  3620.     /* [out] */ WORD __RPC_FAR *pwOrdinal);
  3621.  
  3622.  
  3623. void __RPC_STUB ITypeInfo_RemoteGetDllEntry_Stub(
  3624.     IRpcStubBuffer *This,
  3625.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3626.     PRPC_MESSAGE _pRpcMessage,
  3627.     DWORD *_pdwStubPhase);
  3628.  
  3629.  
  3630. HRESULT STDMETHODCALLTYPE ITypeInfo_GetRefTypeInfo_Proxy( 
  3631.     ITypeInfo __RPC_FAR * This,
  3632.     /* [in] */ HREFTYPE hRefType,
  3633.     /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  3634.  
  3635.  
  3636. void __RPC_STUB ITypeInfo_GetRefTypeInfo_Stub(
  3637.     IRpcStubBuffer *This,
  3638.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3639.     PRPC_MESSAGE _pRpcMessage,
  3640.     DWORD *_pdwStubPhase);
  3641.  
  3642.  
  3643. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_LocalAddressOfMember_Proxy( 
  3644.     ITypeInfo __RPC_FAR * This);
  3645.  
  3646.  
  3647. void __RPC_STUB ITypeInfo_LocalAddressOfMember_Stub(
  3648.     IRpcStubBuffer *This,
  3649.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3650.     PRPC_MESSAGE _pRpcMessage,
  3651.     DWORD *_pdwStubPhase);
  3652.  
  3653.  
  3654. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteCreateInstance_Proxy( 
  3655.     ITypeInfo __RPC_FAR * This,
  3656.     /* [in] */ REFIID riid,
  3657.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObj);
  3658.  
  3659.  
  3660. void __RPC_STUB ITypeInfo_RemoteCreateInstance_Stub(
  3661.     IRpcStubBuffer *This,
  3662.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3663.     PRPC_MESSAGE _pRpcMessage,
  3664.     DWORD *_pdwStubPhase);
  3665.  
  3666.  
  3667. HRESULT STDMETHODCALLTYPE ITypeInfo_GetMops_Proxy( 
  3668.     ITypeInfo __RPC_FAR * This,
  3669.     /* [in] */ MEMBERID memid,
  3670.     /* [out] */ BSTR __RPC_FAR *pBstrMops);
  3671.  
  3672.  
  3673. void __RPC_STUB ITypeInfo_GetMops_Stub(
  3674.     IRpcStubBuffer *This,
  3675.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3676.     PRPC_MESSAGE _pRpcMessage,
  3677.     DWORD *_pdwStubPhase);
  3678.  
  3679.  
  3680. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetContainingTypeLib_Proxy( 
  3681.     ITypeInfo __RPC_FAR * This,
  3682.     /* [out] */ ITypeLib __RPC_FAR *__RPC_FAR *ppTLib,
  3683.     /* [out] */ UINT __RPC_FAR *pIndex);
  3684.  
  3685.  
  3686. void __RPC_STUB ITypeInfo_RemoteGetContainingTypeLib_Stub(
  3687.     IRpcStubBuffer *This,
  3688.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3689.     PRPC_MESSAGE _pRpcMessage,
  3690.     DWORD *_pdwStubPhase);
  3691.  
  3692.  
  3693. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_LocalReleaseTypeAttr_Proxy( 
  3694.     ITypeInfo __RPC_FAR * This);
  3695.  
  3696.  
  3697. void __RPC_STUB ITypeInfo_LocalReleaseTypeAttr_Stub(
  3698.     IRpcStubBuffer *This,
  3699.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3700.     PRPC_MESSAGE _pRpcMessage,
  3701.     DWORD *_pdwStubPhase);
  3702.  
  3703.  
  3704. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_LocalReleaseFuncDesc_Proxy( 
  3705.     ITypeInfo __RPC_FAR * This);
  3706.  
  3707.  
  3708. void __RPC_STUB ITypeInfo_LocalReleaseFuncDesc_Stub(
  3709.     IRpcStubBuffer *This,
  3710.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3711.     PRPC_MESSAGE _pRpcMessage,
  3712.     DWORD *_pdwStubPhase);
  3713.  
  3714.  
  3715. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_LocalReleaseVarDesc_Proxy( 
  3716.     ITypeInfo __RPC_FAR * This);
  3717.  
  3718.  
  3719. void __RPC_STUB ITypeInfo_LocalReleaseVarDesc_Stub(
  3720.     IRpcStubBuffer *This,
  3721.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3722.     PRPC_MESSAGE _pRpcMessage,
  3723.     DWORD *_pdwStubPhase);
  3724.  
  3725.  
  3726.  
  3727. #endif     /* __ITypeInfo_INTERFACE_DEFINED__ */
  3728.  
  3729.  
  3730. #ifndef __ITypeInfo2_INTERFACE_DEFINED__
  3731. #define __ITypeInfo2_INTERFACE_DEFINED__
  3732.  
  3733. /****************************************
  3734.  * Generated header for interface: ITypeInfo2
  3735.  * at Sat Jul 13 21:56:52 1996
  3736.  * using MIDL 3.00.39
  3737.  ****************************************/
  3738. /* [unique][uuid][object] */ 
  3739.  
  3740.  
  3741. typedef /* [unique] */ ITypeInfo2 __RPC_FAR *LPTYPEINFO2;
  3742.  
  3743.  
  3744. EXTERN_C const IID IID_ITypeInfo2;
  3745.  
  3746. #if defined(__cplusplus) && !defined(CINTERFACE)
  3747.     
  3748.     interface ITypeInfo2 : public ITypeInfo
  3749.     {
  3750.     public:
  3751.         virtual HRESULT STDMETHODCALLTYPE GetTypeKind( 
  3752.             /* [out] */ TYPEKIND __RPC_FAR *pTypeKind) = 0;
  3753.         
  3754.         virtual HRESULT STDMETHODCALLTYPE GetTypeFlags( 
  3755.             /* [out] */ ULONG __RPC_FAR *pTypeFlags) = 0;
  3756.         
  3757.         virtual HRESULT STDMETHODCALLTYPE GetFuncIndexOfMemId( 
  3758.             /* [in] */ MEMBERID memid,
  3759.             /* [in] */ INVOKEKIND invKind,
  3760.             /* [out] */ UINT __RPC_FAR *pFuncIndex) = 0;
  3761.         
  3762.         virtual HRESULT STDMETHODCALLTYPE GetVarIndexOfMemId( 
  3763.             /* [in] */ MEMBERID memid,
  3764.             /* [out] */ UINT __RPC_FAR *pVarIndex) = 0;
  3765.         
  3766.         virtual HRESULT STDMETHODCALLTYPE GetCustData( 
  3767.             /* [in] */ REFGUID guid,
  3768.             /* [out] */ VARIANT __RPC_FAR *pVarVal) = 0;
  3769.         
  3770.         virtual HRESULT STDMETHODCALLTYPE GetFuncCustData( 
  3771.             /* [in] */ UINT index,
  3772.             /* [in] */ REFGUID guid,
  3773.             /* [out] */ VARIANT __RPC_FAR *pVarVal) = 0;
  3774.         
  3775.         virtual HRESULT STDMETHODCALLTYPE GetParamCustData( 
  3776.             /* [in] */ UINT indexFunc,
  3777.             /* [in] */ UINT indexParam,
  3778.             /* [in] */ REFGUID guid,
  3779.             /* [out] */ VARIANT __RPC_FAR *pVarVal) = 0;
  3780.         
  3781.         virtual HRESULT STDMETHODCALLTYPE GetVarCustData( 
  3782.             /* [in] */ UINT index,
  3783.             /* [in] */ REFGUID guid,
  3784.             /* [out] */ VARIANT __RPC_FAR *pVarVal) = 0;
  3785.         
  3786.         virtual HRESULT STDMETHODCALLTYPE GetImplTypeCustData( 
  3787.             /* [in] */ UINT index,
  3788.             /* [in] */ REFGUID guid,
  3789.             /* [out] */ VARIANT __RPC_FAR *pVarVal) = 0;
  3790.         
  3791.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDocumentation2( 
  3792.             /* [in] */ MEMBERID memid,
  3793.             /* [in] */ LCID lcid,
  3794.             /* [out] */ BSTR __RPC_FAR *pbstrHelpString,
  3795.             /* [out] */ DWORD __RPC_FAR *pdwHelpStringContext,
  3796.             /* [out] */ BSTR __RPC_FAR *pbstrHelpStringDll) = 0;
  3797.         
  3798.         virtual HRESULT STDMETHODCALLTYPE GetAllCustData( 
  3799.             /* [out] */ CUSTDATA __RPC_FAR *pCustData) = 0;
  3800.         
  3801.         virtual HRESULT STDMETHODCALLTYPE GetAllFuncCustData( 
  3802.             /* [in] */ UINT index,
  3803.             /* [out] */ CUSTDATA __RPC_FAR *pCustData) = 0;
  3804.         
  3805.         virtual HRESULT STDMETHODCALLTYPE GetAllParamCustData( 
  3806.             /* [in] */ UINT indexFunc,
  3807.             /* [in] */ UINT indexParam,
  3808.             /* [out] */ CUSTDATA __RPC_FAR *pCustData) = 0;
  3809.         
  3810.         virtual HRESULT STDMETHODCALLTYPE GetAllVarCustData( 
  3811.             /* [in] */ UINT index,
  3812.             /* [out] */ CUSTDATA __RPC_FAR *pCustData) = 0;
  3813.         
  3814.         virtual HRESULT STDMETHODCALLTYPE GetAllImplTypeCustData( 
  3815.             /* [in] */ UINT index,
  3816.             /* [out] */ CUSTDATA __RPC_FAR *pCustData) = 0;
  3817.         
  3818.     };
  3819.     
  3820. #else     /* C style interface */
  3821.  
  3822.     typedef struct ITypeInfo2Vtbl
  3823.     {
  3824.         BEGIN_INTERFACE
  3825.         
  3826.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3827.             ITypeInfo2 __RPC_FAR * This,
  3828.             /* [in] */ REFIID riid,
  3829.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3830.         
  3831.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3832.             ITypeInfo2 __RPC_FAR * This);
  3833.         
  3834.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3835.             ITypeInfo2 __RPC_FAR * This);
  3836.         
  3837.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeAttr )( 
  3838.             ITypeInfo2 __RPC_FAR * This,
  3839.             /* [out] */ TYPEATTR __RPC_FAR *__RPC_FAR *ppTypeAttr);
  3840.         
  3841.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeComp )( 
  3842.             ITypeInfo2 __RPC_FAR * This,
  3843.             /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *ppTComp);
  3844.         
  3845.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFuncDesc )( 
  3846.             ITypeInfo2 __RPC_FAR * This,
  3847.             /* [in] */ UINT index,
  3848.             /* [out] */ FUNCDESC __RPC_FAR *__RPC_FAR *ppFuncDesc);
  3849.         
  3850.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetVarDesc )( 
  3851.             ITypeInfo2 __RPC_FAR * This,
  3852.             /* [in] */ UINT index,
  3853.             /* [out] */ VARDESC __RPC_FAR *__RPC_FAR *ppVarDesc);
  3854.         
  3855.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNames )( 
  3856.             ITypeInfo2 __RPC_FAR * This,
  3857.             /* [in] */ MEMBERID memid,
  3858.             /* [length_is][size_is][out] */ BSTR __RPC_FAR *rgBstrNames,
  3859.             /* [in] */ UINT cMaxNames,
  3860.             /* [out] */ UINT __RPC_FAR *pcNames);
  3861.         
  3862.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRefTypeOfImplType )( 
  3863.             ITypeInfo2 __RPC_FAR * This,
  3864.             /* [in] */ UINT index,
  3865.             /* [out] */ HREFTYPE __RPC_FAR *pRefType);
  3866.         
  3867.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetImplTypeFlags )( 
  3868.             ITypeInfo2 __RPC_FAR * This,
  3869.             /* [in] */ UINT index,
  3870.             /* [out] */ INT __RPC_FAR *pImplTypeFlags);
  3871.         
  3872.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  3873.             ITypeInfo2 __RPC_FAR * This,
  3874.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  3875.             /* [in] */ UINT cNames,
  3876.             /* [size_is][out] */ MEMBERID __RPC_FAR *pMemId);
  3877.         
  3878.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  3879.             ITypeInfo2 __RPC_FAR * This,
  3880.             /* [in] */ PVOID pvInstance,
  3881.             /* [in] */ MEMBERID memid,
  3882.             /* [in] */ WORD wFlags,
  3883.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  3884.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  3885.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  3886.             /* [out] */ UINT __RPC_FAR *puArgErr);
  3887.         
  3888.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDocumentation )( 
  3889.             ITypeInfo2 __RPC_FAR * This,
  3890.             /* [in] */ MEMBERID memid,
  3891.             /* [out] */ BSTR __RPC_FAR *pBstrName,
  3892.             /* [out] */ BSTR __RPC_FAR *pBstrDocString,
  3893.             /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
  3894.             /* [out] */ BSTR __RPC_FAR *pBstrHelpFile);
  3895.         
  3896.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDllEntry )( 
  3897.             ITypeInfo2 __RPC_FAR * This,
  3898.             /* [in] */ MEMBERID memid,
  3899.             /* [in] */ INVOKEKIND invKind,
  3900.             /* [out] */ BSTR __RPC_FAR *pBstrDllName,
  3901.             /* [out] */ BSTR __RPC_FAR *pBstrName,
  3902.             /* [out] */ WORD __RPC_FAR *pwOrdinal);
  3903.         
  3904.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRefTypeInfo )( 
  3905.             ITypeInfo2 __RPC_FAR * This,
  3906.             /* [in] */ HREFTYPE hRefType,
  3907.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  3908.         
  3909.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddressOfMember )( 
  3910.             ITypeInfo2 __RPC_FAR * This,
  3911.             /* [in] */ MEMBERID memid,
  3912.             /* [in] */ INVOKEKIND invKind,
  3913.             /* [out] */ PVOID __RPC_FAR *ppv);
  3914.         
  3915.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateInstance )( 
  3916.             ITypeInfo2 __RPC_FAR * This,
  3917.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  3918.             /* [in] */ REFIID riid,
  3919.             /* [iid_is][out] */ PVOID __RPC_FAR *ppvObj);
  3920.         
  3921.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMops )( 
  3922.             ITypeInfo2 __RPC_FAR * This,
  3923.             /* [in] */ MEMBERID memid,
  3924.             /* [out] */ BSTR __RPC_FAR *pBstrMops);
  3925.         
  3926.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetContainingTypeLib )( 
  3927.             ITypeInfo2 __RPC_FAR * This,
  3928.             /* [out] */ ITypeLib __RPC_FAR *__RPC_FAR *ppTLib,
  3929.             /* [out] */ UINT __RPC_FAR *pIndex);
  3930.         
  3931.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *ReleaseTypeAttr )( 
  3932.             ITypeInfo2 __RPC_FAR * This,
  3933.             /* [in] */ TYPEATTR __RPC_FAR *pTypeAttr);
  3934.         
  3935.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *ReleaseFuncDesc )( 
  3936.             ITypeInfo2 __RPC_FAR * This,
  3937.             /* [in] */ FUNCDESC __RPC_FAR *pFuncDesc);
  3938.         
  3939.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *ReleaseVarDesc )( 
  3940.             ITypeInfo2 __RPC_FAR * This,
  3941.             /* [in] */ VARDESC __RPC_FAR *pVarDesc);
  3942.         
  3943.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeKind )( 
  3944.             ITypeInfo2 __RPC_FAR * This,
  3945.             /* [out] */ TYPEKIND __RPC_FAR *pTypeKind);
  3946.         
  3947.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeFlags )( 
  3948.             ITypeInfo2 __RPC_FAR * This,
  3949.             /* [out] */ ULONG __RPC_FAR *pTypeFlags);
  3950.         
  3951.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFuncIndexOfMemId )( 
  3952.             ITypeInfo2 __RPC_FAR * This,
  3953.             /* [in] */ MEMBERID memid,
  3954.             /* [in] */ INVOKEKIND invKind,
  3955.             /* [out] */ UINT __RPC_FAR *pFuncIndex);
  3956.         
  3957.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetVarIndexOfMemId )( 
  3958.             ITypeInfo2 __RPC_FAR * This,
  3959.             /* [in] */ MEMBERID memid,
  3960.             /* [out] */ UINT __RPC_FAR *pVarIndex);
  3961.         
  3962.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCustData )( 
  3963.             ITypeInfo2 __RPC_FAR * This,
  3964.             /* [in] */ REFGUID guid,
  3965.             /* [out] */ VARIANT __RPC_FAR *pVarVal);
  3966.         
  3967.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFuncCustData )( 
  3968.             ITypeInfo2 __RPC_FAR * This,
  3969.             /* [in] */ UINT index,
  3970.             /* [in] */ REFGUID guid,
  3971.             /* [out] */ VARIANT __RPC_FAR *pVarVal);
  3972.         
  3973.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetParamCustData )( 
  3974.             ITypeInfo2 __RPC_FAR * This,
  3975.             /* [in] */ UINT indexFunc,
  3976.             /* [in] */ UINT indexParam,
  3977.             /* [in] */ REFGUID guid,
  3978.             /* [out] */ VARIANT __RPC_FAR *pVarVal);
  3979.         
  3980.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetVarCustData )( 
  3981.             ITypeInfo2 __RPC_FAR * This,
  3982.             /* [in] */ UINT index,
  3983.             /* [in] */ REFGUID guid,
  3984.             /* [out] */ VARIANT __RPC_FAR *pVarVal);
  3985.         
  3986.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetImplTypeCustData )( 
  3987.             ITypeInfo2 __RPC_FAR * This,
  3988.             /* [in] */ UINT index,
  3989.             /* [in] */ REFGUID guid,
  3990.             /* [out] */ VARIANT __RPC_FAR *pVarVal);
  3991.         
  3992.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDocumentation2 )( 
  3993.             ITypeInfo2 __RPC_FAR * This,
  3994.             /* [in] */ MEMBERID memid,
  3995.             /* [in] */ LCID lcid,
  3996.             /* [out] */ BSTR __RPC_FAR *pbstrHelpString,
  3997.             /* [out] */ DWORD __RPC_FAR *pdwHelpStringContext,
  3998.             /* [out] */ BSTR __RPC_FAR *pbstrHelpStringDll);
  3999.         
  4000.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAllCustData )( 
  4001.             ITypeInfo2 __RPC_FAR * This,
  4002.             /* [out] */ CUSTDATA __RPC_FAR *pCustData);
  4003.         
  4004.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAllFuncCustData )( 
  4005.             ITypeInfo2 __RPC_FAR * This,
  4006.             /* [in] */ UINT index,
  4007.             /* [out] */ CUSTDATA __RPC_FAR *pCustData);
  4008.         
  4009.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAllParamCustData )( 
  4010.             ITypeInfo2 __RPC_FAR * This,
  4011.             /* [in] */ UINT indexFunc,
  4012.             /* [in] */ UINT indexParam,
  4013.             /* [out] */ CUSTDATA __RPC_FAR *pCustData);
  4014.         
  4015.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAllVarCustData )( 
  4016.             ITypeInfo2 __RPC_FAR * This,
  4017.             /* [in] */ UINT index,
  4018.             /* [out] */ CUSTDATA __RPC_FAR *pCustData);
  4019.         
  4020.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAllImplTypeCustData )( 
  4021.             ITypeInfo2 __RPC_FAR * This,
  4022.             /* [in] */ UINT index,
  4023.             /* [out] */ CUSTDATA __RPC_FAR *pCustData);
  4024.         
  4025.         END_INTERFACE
  4026.     } ITypeInfo2Vtbl;
  4027.  
  4028.     interface ITypeInfo2
  4029.     {
  4030.         CONST_VTBL struct ITypeInfo2Vtbl __RPC_FAR *lpVtbl;
  4031.     };
  4032.  
  4033.     
  4034.  
  4035. #ifdef COBJMACROS
  4036.  
  4037.  
  4038. #define ITypeInfo2_QueryInterface(This,riid,ppvObject)    \
  4039.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4040.  
  4041. #define ITypeInfo2_AddRef(This)    \
  4042.     (This)->lpVtbl -> AddRef(This)
  4043.  
  4044. #define ITypeInfo2_Release(This)    \
  4045.     (This)->lpVtbl -> Release(This)
  4046.  
  4047.  
  4048. #define ITypeInfo2_GetTypeAttr(This,ppTypeAttr)    \
  4049.     (This)->lpVtbl -> GetTypeAttr(This,ppTypeAttr)
  4050.  
  4051. #define ITypeInfo2_GetTypeComp(This,ppTComp)    \
  4052.     (This)->lpVtbl -> GetTypeComp(This,ppTComp)
  4053.  
  4054. #define ITypeInfo2_GetFuncDesc(This,index,ppFuncDesc)    \
  4055.     (This)->lpVtbl -> GetFuncDesc(This,index,ppFuncDesc)
  4056.  
  4057. #define ITypeInfo2_GetVarDesc(This,index,ppVarDesc)    \
  4058.     (This)->lpVtbl -> GetVarDesc(This,index,ppVarDesc)
  4059.  
  4060. #define ITypeInfo2_GetNames(This,memid,rgBstrNames,cMaxNames,pcNames)    \
  4061.     (This)->lpVtbl -> GetNames(This,memid,rgBstrNames,cMaxNames,pcNames)
  4062.  
  4063. #define ITypeInfo2_GetRefTypeOfImplType(This,index,pRefType)    \
  4064.     (This)->lpVtbl -> GetRefTypeOfImplType(This,index,pRefType)
  4065.  
  4066. #define ITypeInfo2_GetImplTypeFlags(This,index,pImplTypeFlags)    \
  4067.     (This)->lpVtbl -> GetImplTypeFlags(This,index,pImplTypeFlags)
  4068.  
  4069. #define ITypeInfo2_GetIDsOfNames(This,rgszNames,cNames,pMemId)    \
  4070.     (This)->lpVtbl -> GetIDsOfNames(This,rgszNames,cNames,pMemId)
  4071.  
  4072. #define ITypeInfo2_Invoke(This,pvInstance,memid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  4073.     (This)->lpVtbl -> Invoke(This,pvInstance,memid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  4074.  
  4075. #define ITypeInfo2_GetDocumentation(This,memid,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile)    \
  4076.     (This)->lpVtbl -> GetDocumentation(This,memid,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile)
  4077.  
  4078. #define ITypeInfo2_GetDllEntry(This,memid,invKind,pBstrDllName,pBstrName,pwOrdinal)    \
  4079.     (This)->lpVtbl -> GetDllEntry(This,memid,invKind,pBstrDllName,pBstrName,pwOrdinal)
  4080.  
  4081. #define ITypeInfo2_GetRefTypeInfo(This,hRefType,ppTInfo)    \
  4082.     (This)->lpVtbl -> GetRefTypeInfo(This,hRefType,ppTInfo)
  4083.  
  4084. #define ITypeInfo2_AddressOfMember(This,memid,invKind,ppv)    \
  4085.     (This)->lpVtbl -> AddressOfMember(This,memid,invKind,ppv)
  4086.  
  4087. #define ITypeInfo2_CreateInstance(This,pUnkOuter,riid,ppvObj)    \
  4088.     (This)->lpVtbl -> CreateInstance(This,pUnkOuter,riid,ppvObj)
  4089.  
  4090. #define ITypeInfo2_GetMops(This,memid,pBstrMops)    \
  4091.     (This)->lpVtbl -> GetMops(This,memid,pBstrMops)
  4092.  
  4093. #define ITypeInfo2_GetContainingTypeLib(This,ppTLib,pIndex)    \
  4094.     (This)->lpVtbl -> GetContainingTypeLib(This,ppTLib,pIndex)
  4095.  
  4096. #define ITypeInfo2_ReleaseTypeAttr(This,pTypeAttr)    \
  4097.     (This)->lpVtbl -> ReleaseTypeAttr(This,pTypeAttr)
  4098.  
  4099. #define ITypeInfo2_ReleaseFuncDesc(This,pFuncDesc)    \
  4100.     (This)->lpVtbl -> ReleaseFuncDesc(This,pFuncDesc)
  4101.  
  4102. #define ITypeInfo2_ReleaseVarDesc(This,pVarDesc)    \
  4103.     (This)->lpVtbl -> ReleaseVarDesc(This,pVarDesc)
  4104.  
  4105.  
  4106. #define ITypeInfo2_GetTypeKind(This,pTypeKind)    \
  4107.     (This)->lpVtbl -> GetTypeKind(This,pTypeKind)
  4108.  
  4109. #define ITypeInfo2_GetTypeFlags(This,pTypeFlags)    \
  4110.     (This)->lpVtbl -> GetTypeFlags(This,pTypeFlags)
  4111.  
  4112. #define ITypeInfo2_GetFuncIndexOfMemId(This,memid,invKind,pFuncIndex)    \
  4113.     (This)->lpVtbl -> GetFuncIndexOfMemId(This,memid,invKind,pFuncIndex)
  4114.  
  4115. #define ITypeInfo2_GetVarIndexOfMemId(This,memid,pVarIndex)    \
  4116.     (This)->lpVtbl -> GetVarIndexOfMemId(This,memid,pVarIndex)
  4117.  
  4118. #define ITypeInfo2_GetCustData(This,guid,pVarVal)    \
  4119.     (This)->lpVtbl -> GetCustData(This,guid,pVarVal)
  4120.  
  4121. #define ITypeInfo2_GetFuncCustData(This,index,guid,pVarVal)    \
  4122.     (This)->lpVtbl -> GetFuncCustData(This,index,guid,pVarVal)
  4123.  
  4124. #define ITypeInfo2_GetParamCustData(This,indexFunc,indexParam,guid,pVarVal)    \
  4125.     (This)->lpVtbl -> GetParamCustData(This,indexFunc,indexParam,guid,pVarVal)
  4126.  
  4127. #define ITypeInfo2_GetVarCustData(This,index,guid,pVarVal)    \
  4128.     (This)->lpVtbl -> GetVarCustData(This,index,guid,pVarVal)
  4129.  
  4130. #define ITypeInfo2_GetImplTypeCustData(This,index,guid,pVarVal)    \
  4131.     (This)->lpVtbl -> GetImplTypeCustData(This,index,guid,pVarVal)
  4132.  
  4133. #define ITypeInfo2_GetDocumentation2(This,memid,lcid,pbstrHelpString,pdwHelpStringContext,pbstrHelpStringDll)    \
  4134.     (This)->lpVtbl -> GetDocumentation2(This,memid,lcid,pbstrHelpString,pdwHelpStringContext,pbstrHelpStringDll)
  4135.  
  4136. #define ITypeInfo2_GetAllCustData(This,pCustData)    \
  4137.     (This)->lpVtbl -> GetAllCustData(This,pCustData)
  4138.  
  4139. #define ITypeInfo2_GetAllFuncCustData(This,index,pCustData)    \
  4140.     (This)->lpVtbl -> GetAllFuncCustData(This,index,pCustData)
  4141.  
  4142. #define ITypeInfo2_GetAllParamCustData(This,indexFunc,indexParam,pCustData)    \
  4143.     (This)->lpVtbl -> GetAllParamCustData(This,indexFunc,indexParam,pCustData)
  4144.  
  4145. #define ITypeInfo2_GetAllVarCustData(This,index,pCustData)    \
  4146.     (This)->lpVtbl -> GetAllVarCustData(This,index,pCustData)
  4147.  
  4148. #define ITypeInfo2_GetAllImplTypeCustData(This,index,pCustData)    \
  4149.     (This)->lpVtbl -> GetAllImplTypeCustData(This,index,pCustData)
  4150.  
  4151. #endif /* COBJMACROS */
  4152.  
  4153.  
  4154. #endif     /* C style interface */
  4155.  
  4156.  
  4157.  
  4158. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetTypeKind_Proxy( 
  4159.     ITypeInfo2 __RPC_FAR * This,
  4160.     /* [out] */ TYPEKIND __RPC_FAR *pTypeKind);
  4161.  
  4162.  
  4163. void __RPC_STUB ITypeInfo2_GetTypeKind_Stub(
  4164.     IRpcStubBuffer *This,
  4165.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4166.     PRPC_MESSAGE _pRpcMessage,
  4167.     DWORD *_pdwStubPhase);
  4168.  
  4169.  
  4170. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetTypeFlags_Proxy( 
  4171.     ITypeInfo2 __RPC_FAR * This,
  4172.     /* [out] */ ULONG __RPC_FAR *pTypeFlags);
  4173.  
  4174.  
  4175. void __RPC_STUB ITypeInfo2_GetTypeFlags_Stub(
  4176.     IRpcStubBuffer *This,
  4177.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4178.     PRPC_MESSAGE _pRpcMessage,
  4179.     DWORD *_pdwStubPhase);
  4180.  
  4181.  
  4182. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetFuncIndexOfMemId_Proxy( 
  4183.     ITypeInfo2 __RPC_FAR * This,
  4184.     /* [in] */ MEMBERID memid,
  4185.     /* [in] */ INVOKEKIND invKind,
  4186.     /* [out] */ UINT __RPC_FAR *pFuncIndex);
  4187.  
  4188.  
  4189. void __RPC_STUB ITypeInfo2_GetFuncIndexOfMemId_Stub(
  4190.     IRpcStubBuffer *This,
  4191.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4192.     PRPC_MESSAGE _pRpcMessage,
  4193.     DWORD *_pdwStubPhase);
  4194.  
  4195.  
  4196. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetVarIndexOfMemId_Proxy( 
  4197.     ITypeInfo2 __RPC_FAR * This,
  4198.     /* [in] */ MEMBERID memid,
  4199.     /* [out] */ UINT __RPC_FAR *pVarIndex);
  4200.  
  4201.  
  4202. void __RPC_STUB ITypeInfo2_GetVarIndexOfMemId_Stub(
  4203.     IRpcStubBuffer *This,
  4204.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4205.     PRPC_MESSAGE _pRpcMessage,
  4206.     DWORD *_pdwStubPhase);
  4207.  
  4208.  
  4209. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetCustData_Proxy( 
  4210.     ITypeInfo2 __RPC_FAR * This,
  4211.     /* [in] */ REFGUID guid,
  4212.     /* [out] */ VARIANT __RPC_FAR *pVarVal);
  4213.  
  4214.  
  4215. void __RPC_STUB ITypeInfo2_GetCustData_Stub(
  4216.     IRpcStubBuffer *This,
  4217.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4218.     PRPC_MESSAGE _pRpcMessage,
  4219.     DWORD *_pdwStubPhase);
  4220.  
  4221.  
  4222. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetFuncCustData_Proxy( 
  4223.     ITypeInfo2 __RPC_FAR * This,
  4224.     /* [in] */ UINT index,
  4225.     /* [in] */ REFGUID guid,
  4226.     /* [out] */ VARIANT __RPC_FAR *pVarVal);
  4227.  
  4228.  
  4229. void __RPC_STUB ITypeInfo2_GetFuncCustData_Stub(
  4230.     IRpcStubBuffer *This,
  4231.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4232.     PRPC_MESSAGE _pRpcMessage,
  4233.     DWORD *_pdwStubPhase);
  4234.  
  4235.  
  4236. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetParamCustData_Proxy( 
  4237.     ITypeInfo2 __RPC_FAR * This,
  4238.     /* [in] */ UINT indexFunc,
  4239.     /* [in] */ UINT indexParam,
  4240.     /* [in] */ REFGUID guid,
  4241.     /* [out] */ VARIANT __RPC_FAR *pVarVal);
  4242.  
  4243.  
  4244. void __RPC_STUB ITypeInfo2_GetParamCustData_Stub(
  4245.     IRpcStubBuffer *This,
  4246.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4247.     PRPC_MESSAGE _pRpcMessage,
  4248.     DWORD *_pdwStubPhase);
  4249.  
  4250.  
  4251. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetVarCustData_Proxy( 
  4252.     ITypeInfo2 __RPC_FAR * This,
  4253.     /* [in] */ UINT index,
  4254.     /* [in] */ REFGUID guid,
  4255.     /* [out] */ VARIANT __RPC_FAR *pVarVal);
  4256.  
  4257.  
  4258. void __RPC_STUB ITypeInfo2_GetVarCustData_Stub(
  4259.     IRpcStubBuffer *This,
  4260.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4261.     PRPC_MESSAGE _pRpcMessage,
  4262.     DWORD *_pdwStubPhase);
  4263.  
  4264.  
  4265. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetImplTypeCustData_Proxy( 
  4266.     ITypeInfo2 __RPC_FAR * This,
  4267.     /* [in] */ UINT index,
  4268.     /* [in] */ REFGUID guid,
  4269.     /* [out] */ VARIANT __RPC_FAR *pVarVal);
  4270.  
  4271.  
  4272. void __RPC_STUB ITypeInfo2_GetImplTypeCustData_Stub(
  4273.     IRpcStubBuffer *This,
  4274.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4275.     PRPC_MESSAGE _pRpcMessage,
  4276.     DWORD *_pdwStubPhase);
  4277.  
  4278.  
  4279. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo2_RemoteGetDocumentation2_Proxy( 
  4280.     ITypeInfo2 __RPC_FAR * This,
  4281.     /* [in] */ MEMBERID memid,
  4282.     /* [in] */ LCID lcid,
  4283.     /* [in] */ DWORD refPtrFlags,
  4284.     /* [out] */ BSTR __RPC_FAR *pbstrHelpString,
  4285.     /* [out] */ DWORD __RPC_FAR *pdwHelpStringContext,
  4286.     /* [out] */ BSTR __RPC_FAR *pbstrHelpStringDll);
  4287.  
  4288.  
  4289. void __RPC_STUB ITypeInfo2_RemoteGetDocumentation2_Stub(
  4290.     IRpcStubBuffer *This,
  4291.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4292.     PRPC_MESSAGE _pRpcMessage,
  4293.     DWORD *_pdwStubPhase);
  4294.  
  4295.  
  4296. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetAllCustData_Proxy( 
  4297.     ITypeInfo2 __RPC_FAR * This,
  4298.     /* [out] */ CUSTDATA __RPC_FAR *pCustData);
  4299.  
  4300.  
  4301. void __RPC_STUB ITypeInfo2_GetAllCustData_Stub(
  4302.     IRpcStubBuffer *This,
  4303.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4304.     PRPC_MESSAGE _pRpcMessage,
  4305.     DWORD *_pdwStubPhase);
  4306.  
  4307.  
  4308. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetAllFuncCustData_Proxy( 
  4309.     ITypeInfo2 __RPC_FAR * This,
  4310.     /* [in] */ UINT index,
  4311.     /* [out] */ CUSTDATA __RPC_FAR *pCustData);
  4312.  
  4313.  
  4314. void __RPC_STUB ITypeInfo2_GetAllFuncCustData_Stub(
  4315.     IRpcStubBuffer *This,
  4316.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4317.     PRPC_MESSAGE _pRpcMessage,
  4318.     DWORD *_pdwStubPhase);
  4319.  
  4320.  
  4321. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetAllParamCustData_Proxy( 
  4322.     ITypeInfo2 __RPC_FAR * This,
  4323.     /* [in] */ UINT indexFunc,
  4324.     /* [in] */ UINT indexParam,
  4325.     /* [out] */ CUSTDATA __RPC_FAR *pCustData);
  4326.  
  4327.  
  4328. void __RPC_STUB ITypeInfo2_GetAllParamCustData_Stub(
  4329.     IRpcStubBuffer *This,
  4330.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4331.     PRPC_MESSAGE _pRpcMessage,
  4332.     DWORD *_pdwStubPhase);
  4333.  
  4334.  
  4335. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetAllVarCustData_Proxy( 
  4336.     ITypeInfo2 __RPC_FAR * This,
  4337.     /* [in] */ UINT index,
  4338.     /* [out] */ CUSTDATA __RPC_FAR *pCustData);
  4339.  
  4340.  
  4341. void __RPC_STUB ITypeInfo2_GetAllVarCustData_Stub(
  4342.     IRpcStubBuffer *This,
  4343.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4344.     PRPC_MESSAGE _pRpcMessage,
  4345.     DWORD *_pdwStubPhase);
  4346.  
  4347.  
  4348. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetAllImplTypeCustData_Proxy( 
  4349.     ITypeInfo2 __RPC_FAR * This,
  4350.     /* [in] */ UINT index,
  4351.     /* [out] */ CUSTDATA __RPC_FAR *pCustData);
  4352.  
  4353.  
  4354. void __RPC_STUB ITypeInfo2_GetAllImplTypeCustData_Stub(
  4355.     IRpcStubBuffer *This,
  4356.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4357.     PRPC_MESSAGE _pRpcMessage,
  4358.     DWORD *_pdwStubPhase);
  4359.  
  4360.  
  4361.  
  4362. #endif     /* __ITypeInfo2_INTERFACE_DEFINED__ */
  4363.  
  4364.  
  4365. #ifndef __ITypeLib_INTERFACE_DEFINED__
  4366. #define __ITypeLib_INTERFACE_DEFINED__
  4367.  
  4368. /****************************************
  4369.  * Generated header for interface: ITypeLib
  4370.  * at Sat Jul 13 21:56:52 1996
  4371.  * using MIDL 3.00.39
  4372.  ****************************************/
  4373. /* [unique][uuid][object] */ 
  4374.  
  4375.  
  4376. typedef /* [v1_enum] */ 
  4377. enum tagSYSKIND
  4378.     {    SYS_WIN16    = 0,
  4379.     SYS_WIN32    = SYS_WIN16 + 1,
  4380.     SYS_MAC    = SYS_WIN32 + 1
  4381.     }    SYSKIND;
  4382.  
  4383. typedef /* [v1_enum] */ 
  4384. enum tagLIBFLAGS
  4385.     {    LIBFLAG_FRESTRICTED    = 0x1,
  4386.     LIBFLAG_FCONTROL    = 0x2,
  4387.     LIBFLAG_FHIDDEN    = 0x4,
  4388.     LIBFLAG_FHASDISKIMAGE    = 0x8
  4389.     }    LIBFLAGS;
  4390.  
  4391. typedef /* [unique] */ ITypeLib __RPC_FAR *LPTYPELIB;
  4392.  
  4393. typedef struct  tagTLIBATTR
  4394.     {
  4395.     GUID guid;
  4396.     LCID lcid;
  4397.     SYSKIND syskind;
  4398.     WORD wMajorVerNum;
  4399.     WORD wMinorVerNum;
  4400.     WORD wLibFlags;
  4401.     }    TLIBATTR;
  4402.  
  4403. typedef struct tagTLIBATTR __RPC_FAR *LPTLIBATTR;
  4404.  
  4405.  
  4406. EXTERN_C const IID IID_ITypeLib;
  4407.  
  4408. #if defined(__cplusplus) && !defined(CINTERFACE)
  4409.     
  4410.     interface ITypeLib : public IUnknown
  4411.     {
  4412.     public:
  4413.         virtual /* [local] */ UINT STDMETHODCALLTYPE GetTypeInfoCount( void) = 0;
  4414.         
  4415.         virtual HRESULT STDMETHODCALLTYPE GetTypeInfo( 
  4416.             /* [in] */ UINT index,
  4417.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo) = 0;
  4418.         
  4419.         virtual HRESULT STDMETHODCALLTYPE GetTypeInfoType( 
  4420.             /* [in] */ UINT index,
  4421.             /* [out] */ TYPEKIND __RPC_FAR *pTKind) = 0;
  4422.         
  4423.         virtual HRESULT STDMETHODCALLTYPE GetTypeInfoOfGuid( 
  4424.             /* [in] */ REFGUID guid,
  4425.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTinfo) = 0;
  4426.         
  4427.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetLibAttr( 
  4428.             /* [out] */ TLIBATTR __RPC_FAR *__RPC_FAR *ppTLibAttr) = 0;
  4429.         
  4430.         virtual HRESULT STDMETHODCALLTYPE GetTypeComp( 
  4431.             /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *ppTComp) = 0;
  4432.         
  4433.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDocumentation( 
  4434.             /* [in] */ INT index,
  4435.             /* [out] */ BSTR __RPC_FAR *pBstrName,
  4436.             /* [out] */ BSTR __RPC_FAR *pBstrDocString,
  4437.             /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
  4438.             /* [out] */ BSTR __RPC_FAR *pBstrHelpFile) = 0;
  4439.         
  4440.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE IsName( 
  4441.             /* [out][in] */ LPOLESTR szNameBuf,
  4442.             /* [in] */ ULONG lHashVal,
  4443.             /* [out] */ BOOL __RPC_FAR *pfName) = 0;
  4444.         
  4445.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE FindName( 
  4446.             /* [out][in] */ LPOLESTR szNameBuf,
  4447.             /* [in] */ ULONG lHashVal,
  4448.             /* [length_is][size_is][out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo,
  4449.             /* [length_is][size_is][out] */ MEMBERID __RPC_FAR *rgMemId,
  4450.             /* [out][in] */ USHORT __RPC_FAR *pcFound) = 0;
  4451.         
  4452.         virtual /* [local] */ void STDMETHODCALLTYPE ReleaseTLibAttr( 
  4453.             /* [in] */ TLIBATTR __RPC_FAR *pTLibAttr) = 0;
  4454.         
  4455.     };
  4456.     
  4457. #else     /* C style interface */
  4458.  
  4459.     typedef struct ITypeLibVtbl
  4460.     {
  4461.         BEGIN_INTERFACE
  4462.         
  4463.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4464.             ITypeLib __RPC_FAR * This,
  4465.             /* [in] */ REFIID riid,
  4466.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4467.         
  4468.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4469.             ITypeLib __RPC_FAR * This);
  4470.         
  4471.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4472.             ITypeLib __RPC_FAR * This);
  4473.         
  4474.         /* [local] */ UINT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  4475.             ITypeLib __RPC_FAR * This);
  4476.         
  4477.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  4478.             ITypeLib __RPC_FAR * This,
  4479.             /* [in] */ UINT index,
  4480.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  4481.         
  4482.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoType )( 
  4483.             ITypeLib __RPC_FAR * This,
  4484.             /* [in] */ UINT index,
  4485.             /* [out] */ TYPEKIND __RPC_FAR *pTKind);
  4486.         
  4487.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoOfGuid )( 
  4488.             ITypeLib __RPC_FAR * This,
  4489.             /* [in] */ REFGUID guid,
  4490.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTinfo);
  4491.         
  4492.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLibAttr )( 
  4493.             ITypeLib __RPC_FAR * This,
  4494.             /* [out] */ TLIBATTR __RPC_FAR *__RPC_FAR *ppTLibAttr);
  4495.         
  4496.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeComp )( 
  4497.             ITypeLib __RPC_FAR * This,
  4498.             /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *ppTComp);
  4499.         
  4500.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDocumentation )( 
  4501.             ITypeLib __RPC_FAR * This,
  4502.             /* [in] */ INT index,
  4503.             /* [out] */ BSTR __RPC_FAR *pBstrName,
  4504.             /* [out] */ BSTR __RPC_FAR *pBstrDocString,
  4505.             /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
  4506.             /* [out] */ BSTR __RPC_FAR *pBstrHelpFile);
  4507.         
  4508.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsName )( 
  4509.             ITypeLib __RPC_FAR * This,
  4510.             /* [out][in] */ LPOLESTR szNameBuf,
  4511.             /* [in] */ ULONG lHashVal,
  4512.             /* [out] */ BOOL __RPC_FAR *pfName);
  4513.         
  4514.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindName )( 
  4515.             ITypeLib __RPC_FAR * This,
  4516.             /* [out][in] */ LPOLESTR szNameBuf,
  4517.             /* [in] */ ULONG lHashVal,
  4518.             /* [length_is][size_is][out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo,
  4519.             /* [length_is][size_is][out] */ MEMBERID __RPC_FAR *rgMemId,
  4520.             /* [out][in] */ USHORT __RPC_FAR *pcFound);
  4521.         
  4522.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *ReleaseTLibAttr )( 
  4523.             ITypeLib __RPC_FAR * This,
  4524.             /* [in] */ TLIBATTR __RPC_FAR *pTLibAttr);
  4525.         
  4526.         END_INTERFACE
  4527.     } ITypeLibVtbl;
  4528.  
  4529.     interface ITypeLib
  4530.     {
  4531.         CONST_VTBL struct ITypeLibVtbl __RPC_FAR *lpVtbl;
  4532.     };
  4533.  
  4534.     
  4535.  
  4536. #ifdef COBJMACROS
  4537.  
  4538.  
  4539. #define ITypeLib_QueryInterface(This,riid,ppvObject)    \
  4540.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4541.  
  4542. #define ITypeLib_AddRef(This)    \
  4543.     (This)->lpVtbl -> AddRef(This)
  4544.  
  4545. #define ITypeLib_Release(This)    \
  4546.     (This)->lpVtbl -> Release(This)
  4547.  
  4548.  
  4549. #define ITypeLib_GetTypeInfoCount(This)    \
  4550.     (This)->lpVtbl -> GetTypeInfoCount(This)
  4551.  
  4552. #define ITypeLib_GetTypeInfo(This,index,ppTInfo)    \
  4553.     (This)->lpVtbl -> GetTypeInfo(This,index,ppTInfo)
  4554.  
  4555. #define ITypeLib_GetTypeInfoType(This,index,pTKind)    \
  4556.     (This)->lpVtbl -> GetTypeInfoType(This,index,pTKind)
  4557.  
  4558. #define ITypeLib_GetTypeInfoOfGuid(This,guid,ppTinfo)    \
  4559.     (This)->lpVtbl -> GetTypeInfoOfGuid(This,guid,ppTinfo)
  4560.  
  4561. #define ITypeLib_GetLibAttr(This,ppTLibAttr)    \
  4562.     (This)->lpVtbl -> GetLibAttr(This,ppTLibAttr)
  4563.  
  4564. #define ITypeLib_GetTypeComp(This,ppTComp)    \
  4565.     (This)->lpVtbl -> GetTypeComp(This,ppTComp)
  4566.  
  4567. #define ITypeLib_GetDocumentation(This,index,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile)    \
  4568.     (This)->lpVtbl -> GetDocumentation(This,index,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile)
  4569.  
  4570. #define ITypeLib_IsName(This,szNameBuf,lHashVal,pfName)    \
  4571.     (This)->lpVtbl -> IsName(This,szNameBuf,lHashVal,pfName)
  4572.  
  4573. #define ITypeLib_FindName(This,szNameBuf,lHashVal,ppTInfo,rgMemId,pcFound)    \
  4574.     (This)->lpVtbl -> FindName(This,szNameBuf,lHashVal,ppTInfo,rgMemId,pcFound)
  4575.  
  4576. #define ITypeLib_ReleaseTLibAttr(This,pTLibAttr)    \
  4577.     (This)->lpVtbl -> ReleaseTLibAttr(This,pTLibAttr)
  4578.  
  4579. #endif /* COBJMACROS */
  4580.  
  4581.  
  4582. #endif     /* C style interface */
  4583.  
  4584.  
  4585.  
  4586. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_RemoteGetTypeInfoCount_Proxy( 
  4587.     ITypeLib __RPC_FAR * This,
  4588.     /* [out] */ UINT __RPC_FAR *pcTInfo);
  4589.  
  4590.  
  4591. void __RPC_STUB ITypeLib_RemoteGetTypeInfoCount_Stub(
  4592.     IRpcStubBuffer *This,
  4593.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4594.     PRPC_MESSAGE _pRpcMessage,
  4595.     DWORD *_pdwStubPhase);
  4596.  
  4597.  
  4598. HRESULT STDMETHODCALLTYPE ITypeLib_GetTypeInfo_Proxy( 
  4599.     ITypeLib __RPC_FAR * This,
  4600.     /* [in] */ UINT index,
  4601.     /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  4602.  
  4603.  
  4604. void __RPC_STUB ITypeLib_GetTypeInfo_Stub(
  4605.     IRpcStubBuffer *This,
  4606.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4607.     PRPC_MESSAGE _pRpcMessage,
  4608.     DWORD *_pdwStubPhase);
  4609.  
  4610.  
  4611. HRESULT STDMETHODCALLTYPE ITypeLib_GetTypeInfoType_Proxy( 
  4612.     ITypeLib __RPC_FAR * This,
  4613.     /* [in] */ UINT index,
  4614.     /* [out] */ TYPEKIND __RPC_FAR *pTKind);
  4615.  
  4616.  
  4617. void __RPC_STUB ITypeLib_GetTypeInfoType_Stub(
  4618.     IRpcStubBuffer *This,
  4619.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4620.     PRPC_MESSAGE _pRpcMessage,
  4621.     DWORD *_pdwStubPhase);
  4622.  
  4623.  
  4624. HRESULT STDMETHODCALLTYPE ITypeLib_GetTypeInfoOfGuid_Proxy( 
  4625.     ITypeLib __RPC_FAR * This,
  4626.     /* [in] */ REFGUID guid,
  4627.     /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTinfo);
  4628.  
  4629.  
  4630. void __RPC_STUB ITypeLib_GetTypeInfoOfGuid_Stub(
  4631.     IRpcStubBuffer *This,
  4632.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4633.     PRPC_MESSAGE _pRpcMessage,
  4634.     DWORD *_pdwStubPhase);
  4635.  
  4636.  
  4637. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_RemoteGetLibAttr_Proxy( 
  4638.     ITypeLib __RPC_FAR * This,
  4639.     /* [out] */ LPTLIBATTR __RPC_FAR *ppTLibAttr,
  4640.     /* [out] */ CLEANLOCALSTORAGE __RPC_FAR *pDummy);
  4641.  
  4642.  
  4643. void __RPC_STUB ITypeLib_RemoteGetLibAttr_Stub(
  4644.     IRpcStubBuffer *This,
  4645.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4646.     PRPC_MESSAGE _pRpcMessage,
  4647.     DWORD *_pdwStubPhase);
  4648.  
  4649.  
  4650. HRESULT STDMETHODCALLTYPE ITypeLib_GetTypeComp_Proxy( 
  4651.     ITypeLib __RPC_FAR * This,
  4652.     /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *ppTComp);
  4653.  
  4654.  
  4655. void __RPC_STUB ITypeLib_GetTypeComp_Stub(
  4656.     IRpcStubBuffer *This,
  4657.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4658.     PRPC_MESSAGE _pRpcMessage,
  4659.     DWORD *_pdwStubPhase);
  4660.  
  4661.  
  4662. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_RemoteGetDocumentation_Proxy( 
  4663.     ITypeLib __RPC_FAR * This,
  4664.     /* [in] */ INT index,
  4665.     /* [in] */ DWORD refPtrFlags,
  4666.     /* [out] */ BSTR __RPC_FAR *pBstrName,
  4667.     /* [out] */ BSTR __RPC_FAR *pBstrDocString,
  4668.     /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
  4669.     /* [out] */ BSTR __RPC_FAR *pBstrHelpFile);
  4670.  
  4671.  
  4672. void __RPC_STUB ITypeLib_RemoteGetDocumentation_Stub(
  4673.     IRpcStubBuffer *This,
  4674.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4675.     PRPC_MESSAGE _pRpcMessage,
  4676.     DWORD *_pdwStubPhase);
  4677.  
  4678.  
  4679. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_RemoteIsName_Proxy( 
  4680.     ITypeLib __RPC_FAR * This,
  4681.     /* [in] */ LPOLESTR szNameBuf,
  4682.     /* [in] */ ULONG lHashVal,
  4683.     /* [out] */ BOOL __RPC_FAR *pfName,
  4684.     /* [out] */ BSTR __RPC_FAR *pBstrLibName);
  4685.  
  4686.  
  4687. void __RPC_STUB ITypeLib_RemoteIsName_Stub(
  4688.     IRpcStubBuffer *This,
  4689.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4690.     PRPC_MESSAGE _pRpcMessage,
  4691.     DWORD *_pdwStubPhase);
  4692.  
  4693.  
  4694. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_RemoteFindName_Proxy( 
  4695.     ITypeLib __RPC_FAR * This,
  4696.     /* [in] */ LPOLESTR szNameBuf,
  4697.     /* [in] */ ULONG lHashVal,
  4698.     /* [length_is][size_is][out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo,
  4699.     /* [length_is][size_is][out] */ MEMBERID __RPC_FAR *rgMemId,
  4700.     /* [out][in] */ USHORT __RPC_FAR *pcFound,
  4701.     /* [out] */ BSTR __RPC_FAR *pBstrLibName);
  4702.  
  4703.  
  4704. void __RPC_STUB ITypeLib_RemoteFindName_Stub(
  4705.     IRpcStubBuffer *This,
  4706.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4707.     PRPC_MESSAGE _pRpcMessage,
  4708.     DWORD *_pdwStubPhase);
  4709.  
  4710.  
  4711. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_LocalReleaseTLibAttr_Proxy( 
  4712.     ITypeLib __RPC_FAR * This);
  4713.  
  4714.  
  4715. void __RPC_STUB ITypeLib_LocalReleaseTLibAttr_Stub(
  4716.     IRpcStubBuffer *This,
  4717.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4718.     PRPC_MESSAGE _pRpcMessage,
  4719.     DWORD *_pdwStubPhase);
  4720.  
  4721.  
  4722.  
  4723. #endif     /* __ITypeLib_INTERFACE_DEFINED__ */
  4724.  
  4725.  
  4726. #ifndef __ITypeLib2_INTERFACE_DEFINED__
  4727. #define __ITypeLib2_INTERFACE_DEFINED__
  4728.  
  4729. /****************************************
  4730.  * Generated header for interface: ITypeLib2
  4731.  * at Sat Jul 13 21:56:52 1996
  4732.  * using MIDL 3.00.39
  4733.  ****************************************/
  4734. /* [unique][uuid][object] */ 
  4735.  
  4736.  
  4737. typedef /* [unique] */ ITypeLib2 __RPC_FAR *LPTYPELIB2;
  4738.  
  4739.  
  4740. EXTERN_C const IID IID_ITypeLib2;
  4741.  
  4742. #if defined(__cplusplus) && !defined(CINTERFACE)
  4743.     
  4744.     interface ITypeLib2 : public ITypeLib
  4745.     {
  4746.     public:
  4747.         virtual HRESULT STDMETHODCALLTYPE GetCustData( 
  4748.             /* [in] */ REFGUID guid,
  4749.             /* [out] */ VARIANT __RPC_FAR *pVarVal) = 0;
  4750.         
  4751.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetLibStatistics( 
  4752.             /* [out] */ ULONG __RPC_FAR *pcUniqueNames,
  4753.             /* [out] */ ULONG __RPC_FAR *pcchUniqueNames) = 0;
  4754.         
  4755.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDocumentation2( 
  4756.             /* [in] */ INT index,
  4757.             /* [in] */ LCID lcid,
  4758.             /* [out] */ BSTR __RPC_FAR *pbstrHelpString,
  4759.             /* [out] */ DWORD __RPC_FAR *pdwHelpStringContext,
  4760.             /* [out] */ BSTR __RPC_FAR *pbstrHelpStringDll) = 0;
  4761.         
  4762.         virtual HRESULT STDMETHODCALLTYPE GetAllCustData( 
  4763.             /* [out] */ CUSTDATA __RPC_FAR *pCustData) = 0;
  4764.         
  4765.     };
  4766.     
  4767. #else     /* C style interface */
  4768.  
  4769.     typedef struct ITypeLib2Vtbl
  4770.     {
  4771.         BEGIN_INTERFACE
  4772.         
  4773.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4774.             ITypeLib2 __RPC_FAR * This,
  4775.             /* [in] */ REFIID riid,
  4776.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4777.         
  4778.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4779.             ITypeLib2 __RPC_FAR * This);
  4780.         
  4781.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4782.             ITypeLib2 __RPC_FAR * This);
  4783.         
  4784.         /* [local] */ UINT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  4785.             ITypeLib2 __RPC_FAR * This);
  4786.         
  4787.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  4788.             ITypeLib2 __RPC_FAR * This,
  4789.             /* [in] */ UINT index,
  4790.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  4791.         
  4792.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoType )( 
  4793.             ITypeLib2 __RPC_FAR * This,
  4794.             /* [in] */ UINT index,
  4795.             /* [out] */ TYPEKIND __RPC_FAR *pTKind);
  4796.         
  4797.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoOfGuid )( 
  4798.             ITypeLib2 __RPC_FAR * This,
  4799.             /* [in] */ REFGUID guid,
  4800.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTinfo);
  4801.         
  4802.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLibAttr )( 
  4803.             ITypeLib2 __RPC_FAR * This,
  4804.             /* [out] */ TLIBATTR __RPC_FAR *__RPC_FAR *ppTLibAttr);
  4805.         
  4806.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeComp )( 
  4807.             ITypeLib2 __RPC_FAR * This,
  4808.             /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *ppTComp);
  4809.         
  4810.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDocumentation )( 
  4811.             ITypeLib2 __RPC_FAR * This,
  4812.             /* [in] */ INT index,
  4813.             /* [out] */ BSTR __RPC_FAR *pBstrName,
  4814.             /* [out] */ BSTR __RPC_FAR *pBstrDocString,
  4815.             /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
  4816.             /* [out] */ BSTR __RPC_FAR *pBstrHelpFile);
  4817.         
  4818.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsName )( 
  4819.             ITypeLib2 __RPC_FAR * This,
  4820.             /* [out][in] */ LPOLESTR szNameBuf,
  4821.             /* [in] */ ULONG lHashVal,
  4822.             /* [out] */ BOOL __RPC_FAR *pfName);
  4823.         
  4824.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindName )( 
  4825.             ITypeLib2 __RPC_FAR * This,
  4826.             /* [out][in] */ LPOLESTR szNameBuf,
  4827.             /* [in] */ ULONG lHashVal,
  4828.             /* [length_is][size_is][out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo,
  4829.             /* [length_is][size_is][out] */ MEMBERID __RPC_FAR *rgMemId,
  4830.             /* [out][in] */ USHORT __RPC_FAR *pcFound);
  4831.         
  4832.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *ReleaseTLibAttr )( 
  4833.             ITypeLib2 __RPC_FAR * This,
  4834.             /* [in] */ TLIBATTR __RPC_FAR *pTLibAttr);
  4835.         
  4836.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCustData )( 
  4837.             ITypeLib2 __RPC_FAR * This,
  4838.             /* [in] */ REFGUID guid,
  4839.             /* [out] */ VARIANT __RPC_FAR *pVarVal);
  4840.         
  4841.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLibStatistics )( 
  4842.             ITypeLib2 __RPC_FAR * This,
  4843.             /* [out] */ ULONG __RPC_FAR *pcUniqueNames,
  4844.             /* [out] */ ULONG __RPC_FAR *pcchUniqueNames);
  4845.         
  4846.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDocumentation2 )( 
  4847.             ITypeLib2 __RPC_FAR * This,
  4848.             /* [in] */ INT index,
  4849.             /* [in] */ LCID lcid,
  4850.             /* [out] */ BSTR __RPC_FAR *pbstrHelpString,
  4851.             /* [out] */ DWORD __RPC_FAR *pdwHelpStringContext,
  4852.             /* [out] */ BSTR __RPC_FAR *pbstrHelpStringDll);
  4853.         
  4854.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAllCustData )( 
  4855.             ITypeLib2 __RPC_FAR * This,
  4856.             /* [out] */ CUSTDATA __RPC_FAR *pCustData);
  4857.         
  4858.         END_INTERFACE
  4859.     } ITypeLib2Vtbl;
  4860.  
  4861.     interface ITypeLib2
  4862.     {
  4863.         CONST_VTBL struct ITypeLib2Vtbl __RPC_FAR *lpVtbl;
  4864.     };
  4865.  
  4866.     
  4867.  
  4868. #ifdef COBJMACROS
  4869.  
  4870.  
  4871. #define ITypeLib2_QueryInterface(This,riid,ppvObject)    \
  4872.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4873.  
  4874. #define ITypeLib2_AddRef(This)    \
  4875.     (This)->lpVtbl -> AddRef(This)
  4876.  
  4877. #define ITypeLib2_Release(This)    \
  4878.     (This)->lpVtbl -> Release(This)
  4879.  
  4880.  
  4881. #define ITypeLib2_GetTypeInfoCount(This)    \
  4882.     (This)->lpVtbl -> GetTypeInfoCount(This)
  4883.  
  4884. #define ITypeLib2_GetTypeInfo(This,index,ppTInfo)    \
  4885.     (This)->lpVtbl -> GetTypeInfo(This,index,ppTInfo)
  4886.  
  4887. #define ITypeLib2_GetTypeInfoType(This,index,pTKind)    \
  4888.     (This)->lpVtbl -> GetTypeInfoType(This,index,pTKind)
  4889.  
  4890. #define ITypeLib2_GetTypeInfoOfGuid(This,guid,ppTinfo)    \
  4891.     (This)->lpVtbl -> GetTypeInfoOfGuid(This,guid,ppTinfo)
  4892.  
  4893. #define ITypeLib2_GetLibAttr(This,ppTLibAttr)    \
  4894.     (This)->lpVtbl -> GetLibAttr(This,ppTLibAttr)
  4895.  
  4896. #define ITypeLib2_GetTypeComp(This,ppTComp)    \
  4897.     (This)->lpVtbl -> GetTypeComp(This,ppTComp)
  4898.  
  4899. #define ITypeLib2_GetDocumentation(This,index,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile)    \
  4900.     (This)->lpVtbl -> GetDocumentation(This,index,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile)
  4901.  
  4902. #define ITypeLib2_IsName(This,szNameBuf,lHashVal,pfName)    \
  4903.     (This)->lpVtbl -> IsName(This,szNameBuf,lHashVal,pfName)
  4904.  
  4905. #define ITypeLib2_FindName(This,szNameBuf,lHashVal,ppTInfo,rgMemId,pcFound)    \
  4906.     (This)->lpVtbl -> FindName(This,szNameBuf,lHashVal,ppTInfo,rgMemId,pcFound)
  4907.  
  4908. #define ITypeLib2_ReleaseTLibAttr(This,pTLibAttr)    \
  4909.     (This)->lpVtbl -> ReleaseTLibAttr(This,pTLibAttr)
  4910.  
  4911.  
  4912. #define ITypeLib2_GetCustData(This,guid,pVarVal)    \
  4913.     (This)->lpVtbl -> GetCustData(This,guid,pVarVal)
  4914.  
  4915. #define ITypeLib2_GetLibStatistics(This,pcUniqueNames,pcchUniqueNames)    \
  4916.     (This)->lpVtbl -> GetLibStatistics(This,pcUniqueNames,pcchUniqueNames)
  4917.  
  4918. #define ITypeLib2_GetDocumentation2(This,index,lcid,pbstrHelpString,pdwHelpStringContext,pbstrHelpStringDll)    \
  4919.     (This)->lpVtbl -> GetDocumentation2(This,index,lcid,pbstrHelpString,pdwHelpStringContext,pbstrHelpStringDll)
  4920.  
  4921. #define ITypeLib2_GetAllCustData(This,pCustData)    \
  4922.     (This)->lpVtbl -> GetAllCustData(This,pCustData)
  4923.  
  4924. #endif /* COBJMACROS */
  4925.  
  4926.  
  4927. #endif     /* C style interface */
  4928.  
  4929.  
  4930.  
  4931. HRESULT STDMETHODCALLTYPE ITypeLib2_GetCustData_Proxy( 
  4932.     ITypeLib2 __RPC_FAR * This,
  4933.     /* [in] */ REFGUID guid,
  4934.     /* [out] */ VARIANT __RPC_FAR *pVarVal);
  4935.  
  4936.  
  4937. void __RPC_STUB ITypeLib2_GetCustData_Stub(
  4938.     IRpcStubBuffer *This,
  4939.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4940.     PRPC_MESSAGE _pRpcMessage,
  4941.     DWORD *_pdwStubPhase);
  4942.  
  4943.  
  4944. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib2_RemoteGetLibStatistics_Proxy( 
  4945.     ITypeLib2 __RPC_FAR * This,
  4946.     /* [out] */ ULONG __RPC_FAR *pcUniqueNames,
  4947.     /* [out] */ ULONG __RPC_FAR *pcchUniqueNames);
  4948.  
  4949.  
  4950. void __RPC_STUB ITypeLib2_RemoteGetLibStatistics_Stub(
  4951.     IRpcStubBuffer *This,
  4952.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4953.     PRPC_MESSAGE _pRpcMessage,
  4954.     DWORD *_pdwStubPhase);
  4955.  
  4956.  
  4957. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib2_RemoteGetDocumentation2_Proxy( 
  4958.     ITypeLib2 __RPC_FAR * This,
  4959.     /* [in] */ INT index,
  4960.     /* [in] */ LCID lcid,
  4961.     /* [in] */ DWORD refPtrFlags,
  4962.     /* [out] */ BSTR __RPC_FAR *pbstrHelpString,
  4963.     /* [out] */ DWORD __RPC_FAR *pdwHelpStringContext,
  4964.     /* [out] */ BSTR __RPC_FAR *pbstrHelpStringDll);
  4965.  
  4966.  
  4967. void __RPC_STUB ITypeLib2_RemoteGetDocumentation2_Stub(
  4968.     IRpcStubBuffer *This,
  4969.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4970.     PRPC_MESSAGE _pRpcMessage,
  4971.     DWORD *_pdwStubPhase);
  4972.  
  4973.  
  4974. HRESULT STDMETHODCALLTYPE ITypeLib2_GetAllCustData_Proxy( 
  4975.     ITypeLib2 __RPC_FAR * This,
  4976.     /* [out] */ CUSTDATA __RPC_FAR *pCustData);
  4977.  
  4978.  
  4979. void __RPC_STUB ITypeLib2_GetAllCustData_Stub(
  4980.     IRpcStubBuffer *This,
  4981.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4982.     PRPC_MESSAGE _pRpcMessage,
  4983.     DWORD *_pdwStubPhase);
  4984.  
  4985.  
  4986.  
  4987. #endif     /* __ITypeLib2_INTERFACE_DEFINED__ */
  4988.  
  4989.  
  4990. #ifndef __ITypeChangeEvents_INTERFACE_DEFINED__
  4991. #define __ITypeChangeEvents_INTERFACE_DEFINED__
  4992.  
  4993. /****************************************
  4994.  * Generated header for interface: ITypeChangeEvents
  4995.  * at Sat Jul 13 21:56:52 1996
  4996.  * using MIDL 3.00.39
  4997.  ****************************************/
  4998. /* [local][unique][uuid][object] */ 
  4999.  
  5000.  
  5001. typedef /* [unique] */ ITypeChangeEvents __RPC_FAR *LPTYPECHANGEEVENTS;
  5002.  
  5003. typedef 
  5004. enum tagCHANGEKIND
  5005.     {    CHANGEKIND_ADDMEMBER    = 0,
  5006.     CHANGEKIND_DELETEMEMBER    = CHANGEKIND_ADDMEMBER + 1,
  5007.     CHANGEKIND_SETNAMES    = CHANGEKIND_DELETEMEMBER + 1,
  5008.     CHANGEKIND_SETDOCUMENTATION    = CHANGEKIND_SETNAMES + 1,
  5009.     CHANGEKIND_GENERAL    = CHANGEKIND_SETDOCUMENTATION + 1,
  5010.     CHANGEKIND_INVALIDATE    = CHANGEKIND_GENERAL + 1,
  5011.     CHANGEKIND_CHANGEFAILED    = CHANGEKIND_INVALIDATE + 1,
  5012.     CHANGEKIND_MAX    = CHANGEKIND_CHANGEFAILED + 1
  5013.     }    CHANGEKIND;
  5014.  
  5015.  
  5016. EXTERN_C const IID IID_ITypeChangeEvents;
  5017.  
  5018. #if defined(__cplusplus) && !defined(CINTERFACE)
  5019.     
  5020.     interface ITypeChangeEvents : public IUnknown
  5021.     {
  5022.     public:
  5023.         virtual HRESULT STDMETHODCALLTYPE RequestTypeChange( 
  5024.             /* [in] */ CHANGEKIND changeKind,
  5025.             /* [in] */ ITypeInfo __RPC_FAR *pTInfoBefore,
  5026.             /* [in] */ LPOLESTR pStrName,
  5027.             /* [out] */ INT __RPC_FAR *pfCancel) = 0;
  5028.         
  5029.         virtual HRESULT STDMETHODCALLTYPE AfterTypeChange( 
  5030.             /* [in] */ CHANGEKIND changeKind,
  5031.             /* [in] */ ITypeInfo __RPC_FAR *pTInfoAfter,
  5032.             /* [in] */ LPOLESTR pStrName) = 0;
  5033.         
  5034.     };
  5035.     
  5036. #else     /* C style interface */
  5037.  
  5038.     typedef struct ITypeChangeEventsVtbl
  5039.     {
  5040.         BEGIN_INTERFACE
  5041.         
  5042.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5043.             ITypeChangeEvents __RPC_FAR * This,
  5044.             /* [in] */ REFIID riid,
  5045.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5046.         
  5047.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5048.             ITypeChangeEvents __RPC_FAR * This);
  5049.         
  5050.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5051.             ITypeChangeEvents __RPC_FAR * This);
  5052.         
  5053.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RequestTypeChange )( 
  5054.             ITypeChangeEvents __RPC_FAR * This,
  5055.             /* [in] */ CHANGEKIND changeKind,
  5056.             /* [in] */ ITypeInfo __RPC_FAR *pTInfoBefore,
  5057.             /* [in] */ LPOLESTR pStrName,
  5058.             /* [out] */ INT __RPC_FAR *pfCancel);
  5059.         
  5060.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AfterTypeChange )( 
  5061.             ITypeChangeEvents __RPC_FAR * This,
  5062.             /* [in] */ CHANGEKIND changeKind,
  5063.             /* [in] */ ITypeInfo __RPC_FAR *pTInfoAfter,
  5064.             /* [in] */ LPOLESTR pStrName);
  5065.         
  5066.         END_INTERFACE
  5067.     } ITypeChangeEventsVtbl;
  5068.  
  5069.     interface ITypeChangeEvents
  5070.     {
  5071.         CONST_VTBL struct ITypeChangeEventsVtbl __RPC_FAR *lpVtbl;
  5072.     };
  5073.  
  5074.     
  5075.  
  5076. #ifdef COBJMACROS
  5077.  
  5078.  
  5079. #define ITypeChangeEvents_QueryInterface(This,riid,ppvObject)    \
  5080.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5081.  
  5082. #define ITypeChangeEvents_AddRef(This)    \
  5083.     (This)->lpVtbl -> AddRef(This)
  5084.  
  5085. #define ITypeChangeEvents_Release(This)    \
  5086.     (This)->lpVtbl -> Release(This)
  5087.  
  5088.  
  5089. #define ITypeChangeEvents_RequestTypeChange(This,changeKind,pTInfoBefore,pStrName,pfCancel)    \
  5090.     (This)->lpVtbl -> RequestTypeChange(This,changeKind,pTInfoBefore,pStrName,pfCancel)
  5091.  
  5092. #define ITypeChangeEvents_AfterTypeChange(This,changeKind,pTInfoAfter,pStrName)    \
  5093.     (This)->lpVtbl -> AfterTypeChange(This,changeKind,pTInfoAfter,pStrName)
  5094.  
  5095. #endif /* COBJMACROS */
  5096.  
  5097.  
  5098. #endif     /* C style interface */
  5099.  
  5100.  
  5101.  
  5102. HRESULT STDMETHODCALLTYPE ITypeChangeEvents_RequestTypeChange_Proxy( 
  5103.     ITypeChangeEvents __RPC_FAR * This,
  5104.     /* [in] */ CHANGEKIND changeKind,
  5105.     /* [in] */ ITypeInfo __RPC_FAR *pTInfoBefore,
  5106.     /* [in] */ LPOLESTR pStrName,
  5107.     /* [out] */ INT __RPC_FAR *pfCancel);
  5108.  
  5109.  
  5110. void __RPC_STUB ITypeChangeEvents_RequestTypeChange_Stub(
  5111.     IRpcStubBuffer *This,
  5112.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5113.     PRPC_MESSAGE _pRpcMessage,
  5114.     DWORD *_pdwStubPhase);
  5115.  
  5116.  
  5117. HRESULT STDMETHODCALLTYPE ITypeChangeEvents_AfterTypeChange_Proxy( 
  5118.     ITypeChangeEvents __RPC_FAR * This,
  5119.     /* [in] */ CHANGEKIND changeKind,
  5120.     /* [in] */ ITypeInfo __RPC_FAR *pTInfoAfter,
  5121.     /* [in] */ LPOLESTR pStrName);
  5122.  
  5123.  
  5124. void __RPC_STUB ITypeChangeEvents_AfterTypeChange_Stub(
  5125.     IRpcStubBuffer *This,
  5126.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5127.     PRPC_MESSAGE _pRpcMessage,
  5128.     DWORD *_pdwStubPhase);
  5129.  
  5130.  
  5131.  
  5132. #endif     /* __ITypeChangeEvents_INTERFACE_DEFINED__ */
  5133.  
  5134.  
  5135. #ifndef __IErrorInfo_INTERFACE_DEFINED__
  5136. #define __IErrorInfo_INTERFACE_DEFINED__
  5137.  
  5138. /****************************************
  5139.  * Generated header for interface: IErrorInfo
  5140.  * at Sat Jul 13 21:56:52 1996
  5141.  * using MIDL 3.00.39
  5142.  ****************************************/
  5143. /* [local][unique][uuid][object] */ 
  5144.  
  5145.  
  5146. typedef /* [unique] */ IErrorInfo __RPC_FAR *LPERRORINFO;
  5147.  
  5148.  
  5149. EXTERN_C const IID IID_IErrorInfo;
  5150.  
  5151. #if defined(__cplusplus) && !defined(CINTERFACE)
  5152.     
  5153.     interface IErrorInfo : public IUnknown
  5154.     {
  5155.     public:
  5156.         virtual HRESULT STDMETHODCALLTYPE GetGUID( 
  5157.             /* [out] */ GUID __RPC_FAR *pGUID) = 0;
  5158.         
  5159.         virtual HRESULT STDMETHODCALLTYPE GetSource( 
  5160.             /* [out] */ BSTR __RPC_FAR *pBstrSource) = 0;
  5161.         
  5162.         virtual HRESULT STDMETHODCALLTYPE GetDescription( 
  5163.             /* [out] */ BSTR __RPC_FAR *pBstrDescription) = 0;
  5164.         
  5165.         virtual HRESULT STDMETHODCALLTYPE GetHelpFile( 
  5166.             /* [out] */ BSTR __RPC_FAR *pBstrHelpFile) = 0;
  5167.         
  5168.         virtual HRESULT STDMETHODCALLTYPE GetHelpContext( 
  5169.             /* [out] */ DWORD __RPC_FAR *pdwHelpContext) = 0;
  5170.         
  5171.     };
  5172.     
  5173. #else     /* C style interface */
  5174.  
  5175.     typedef struct IErrorInfoVtbl
  5176.     {
  5177.         BEGIN_INTERFACE
  5178.         
  5179.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5180.             IErrorInfo __RPC_FAR * This,
  5181.             /* [in] */ REFIID riid,
  5182.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5183.         
  5184.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5185.             IErrorInfo __RPC_FAR * This);
  5186.         
  5187.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5188.             IErrorInfo __RPC_FAR * This);
  5189.         
  5190.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetGUID )( 
  5191.             IErrorInfo __RPC_FAR * This,
  5192.             /* [out] */ GUID __RPC_FAR *pGUID);
  5193.         
  5194.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSource )( 
  5195.             IErrorInfo __RPC_FAR * This,
  5196.             /* [out] */ BSTR __RPC_FAR *pBstrSource);
  5197.         
  5198.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDescription )( 
  5199.             IErrorInfo __RPC_FAR * This,
  5200.             /* [out] */ BSTR __RPC_FAR *pBstrDescription);
  5201.         
  5202.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetHelpFile )( 
  5203.             IErrorInfo __RPC_FAR * This,
  5204.             /* [out] */ BSTR __RPC_FAR *pBstrHelpFile);
  5205.         
  5206.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetHelpContext )( 
  5207.             IErrorInfo __RPC_FAR * This,
  5208.             /* [out] */ DWORD __RPC_FAR *pdwHelpContext);
  5209.         
  5210.         END_INTERFACE
  5211.     } IErrorInfoVtbl;
  5212.  
  5213.     interface IErrorInfo
  5214.     {
  5215.         CONST_VTBL struct IErrorInfoVtbl __RPC_FAR *lpVtbl;
  5216.     };
  5217.  
  5218.     
  5219.  
  5220. #ifdef COBJMACROS
  5221.  
  5222.  
  5223. #define IErrorInfo_QueryInterface(This,riid,ppvObject)    \
  5224.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5225.  
  5226. #define IErrorInfo_AddRef(This)    \
  5227.     (This)->lpVtbl -> AddRef(This)
  5228.  
  5229. #define IErrorInfo_Release(This)    \
  5230.     (This)->lpVtbl -> Release(This)
  5231.  
  5232.  
  5233. #define IErrorInfo_GetGUID(This,pGUID)    \
  5234.     (This)->lpVtbl -> GetGUID(This,pGUID)
  5235.  
  5236. #define IErrorInfo_GetSource(This,pBstrSource)    \
  5237.     (This)->lpVtbl -> GetSource(This,pBstrSource)
  5238.  
  5239. #define IErrorInfo_GetDescription(This,pBstrDescription)    \
  5240.     (This)->lpVtbl -> GetDescription(This,pBstrDescription)
  5241.  
  5242. #define IErrorInfo_GetHelpFile(This,pBstrHelpFile)    \
  5243.     (This)->lpVtbl -> GetHelpFile(This,pBstrHelpFile)
  5244.  
  5245. #define IErrorInfo_GetHelpContext(This,pdwHelpContext)    \
  5246.     (This)->lpVtbl -> GetHelpContext(This,pdwHelpContext)
  5247.  
  5248. #endif /* COBJMACROS */
  5249.  
  5250.  
  5251. #endif     /* C style interface */
  5252.  
  5253.  
  5254.  
  5255. HRESULT STDMETHODCALLTYPE IErrorInfo_GetGUID_Proxy( 
  5256.     IErrorInfo __RPC_FAR * This,
  5257.     /* [out] */ GUID __RPC_FAR *pGUID);
  5258.  
  5259.  
  5260. void __RPC_STUB IErrorInfo_GetGUID_Stub(
  5261.     IRpcStubBuffer *This,
  5262.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5263.     PRPC_MESSAGE _pRpcMessage,
  5264.     DWORD *_pdwStubPhase);
  5265.  
  5266.  
  5267. HRESULT STDMETHODCALLTYPE IErrorInfo_GetSource_Proxy( 
  5268.     IErrorInfo __RPC_FAR * This,
  5269.     /* [out] */ BSTR __RPC_FAR *pBstrSource);
  5270.  
  5271.  
  5272. void __RPC_STUB IErrorInfo_GetSource_Stub(
  5273.     IRpcStubBuffer *This,
  5274.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5275.     PRPC_MESSAGE _pRpcMessage,
  5276.     DWORD *_pdwStubPhase);
  5277.  
  5278.  
  5279. HRESULT STDMETHODCALLTYPE IErrorInfo_GetDescription_Proxy( 
  5280.     IErrorInfo __RPC_FAR * This,
  5281.     /* [out] */ BSTR __RPC_FAR *pBstrDescription);
  5282.  
  5283.  
  5284. void __RPC_STUB IErrorInfo_GetDescription_Stub(
  5285.     IRpcStubBuffer *This,
  5286.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5287.     PRPC_MESSAGE _pRpcMessage,
  5288.     DWORD *_pdwStubPhase);
  5289.  
  5290.  
  5291. HRESULT STDMETHODCALLTYPE IErrorInfo_GetHelpFile_Proxy( 
  5292.     IErrorInfo __RPC_FAR * This,
  5293.     /* [out] */ BSTR __RPC_FAR *pBstrHelpFile);
  5294.  
  5295.  
  5296. void __RPC_STUB IErrorInfo_GetHelpFile_Stub(
  5297.     IRpcStubBuffer *This,
  5298.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5299.     PRPC_MESSAGE _pRpcMessage,
  5300.     DWORD *_pdwStubPhase);
  5301.  
  5302.  
  5303. HRESULT STDMETHODCALLTYPE IErrorInfo_GetHelpContext_Proxy( 
  5304.     IErrorInfo __RPC_FAR * This,
  5305.     /* [out] */ DWORD __RPC_FAR *pdwHelpContext);
  5306.  
  5307.  
  5308. void __RPC_STUB IErrorInfo_GetHelpContext_Stub(
  5309.     IRpcStubBuffer *This,
  5310.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5311.     PRPC_MESSAGE _pRpcMessage,
  5312.     DWORD *_pdwStubPhase);
  5313.  
  5314.  
  5315.  
  5316. #endif     /* __IErrorInfo_INTERFACE_DEFINED__ */
  5317.  
  5318.  
  5319. #ifndef __ICreateErrorInfo_INTERFACE_DEFINED__
  5320. #define __ICreateErrorInfo_INTERFACE_DEFINED__
  5321.  
  5322. /****************************************
  5323.  * Generated header for interface: ICreateErrorInfo
  5324.  * at Sat Jul 13 21:56:52 1996
  5325.  * using MIDL 3.00.39
  5326.  ****************************************/
  5327. /* [local][unique][uuid][object] */ 
  5328.  
  5329.  
  5330. typedef /* [unique] */ ICreateErrorInfo __RPC_FAR *LPCREATEERRORINFO;
  5331.  
  5332.  
  5333. EXTERN_C const IID IID_ICreateErrorInfo;
  5334.  
  5335. #if defined(__cplusplus) && !defined(CINTERFACE)
  5336.     
  5337.     interface ICreateErrorInfo : public IUnknown
  5338.     {
  5339.     public:
  5340.         virtual HRESULT STDMETHODCALLTYPE SetGUID( 
  5341.             /* [in] */ REFGUID rguid) = 0;
  5342.         
  5343.         virtual HRESULT STDMETHODCALLTYPE SetSource( 
  5344.             /* [in] */ LPOLESTR szSource) = 0;
  5345.         
  5346.         virtual HRESULT STDMETHODCALLTYPE SetDescription( 
  5347.             /* [in] */ LPOLESTR szDescription) = 0;
  5348.         
  5349.         virtual HRESULT STDMETHODCALLTYPE SetHelpFile( 
  5350.             /* [in] */ LPOLESTR szHelpFile) = 0;
  5351.         
  5352.         virtual HRESULT STDMETHODCALLTYPE SetHelpContext( 
  5353.             /* [in] */ DWORD dwHelpContext) = 0;
  5354.         
  5355.     };
  5356.     
  5357. #else     /* C style interface */
  5358.  
  5359.     typedef struct ICreateErrorInfoVtbl
  5360.     {
  5361.         BEGIN_INTERFACE
  5362.         
  5363.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5364.             ICreateErrorInfo __RPC_FAR * This,
  5365.             /* [in] */ REFIID riid,
  5366.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5367.         
  5368.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5369.             ICreateErrorInfo __RPC_FAR * This);
  5370.         
  5371.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5372.             ICreateErrorInfo __RPC_FAR * This);
  5373.         
  5374.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetGUID )( 
  5375.             ICreateErrorInfo __RPC_FAR * This,
  5376.             /* [in] */ REFGUID rguid);
  5377.         
  5378.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSource )( 
  5379.             ICreateErrorInfo __RPC_FAR * This,
  5380.             /* [in] */ LPOLESTR szSource);
  5381.         
  5382.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDescription )( 
  5383.             ICreateErrorInfo __RPC_FAR * This,
  5384.             /* [in] */ LPOLESTR szDescription);
  5385.         
  5386.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetHelpFile )( 
  5387.             ICreateErrorInfo __RPC_FAR * This,
  5388.             /* [in] */ LPOLESTR szHelpFile);
  5389.         
  5390.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetHelpContext )( 
  5391.             ICreateErrorInfo __RPC_FAR * This,
  5392.             /* [in] */ DWORD dwHelpContext);
  5393.         
  5394.         END_INTERFACE
  5395.     } ICreateErrorInfoVtbl;
  5396.  
  5397.     interface ICreateErrorInfo
  5398.     {
  5399.         CONST_VTBL struct ICreateErrorInfoVtbl __RPC_FAR *lpVtbl;
  5400.     };
  5401.  
  5402.     
  5403.  
  5404. #ifdef COBJMACROS
  5405.  
  5406.  
  5407. #define ICreateErrorInfo_QueryInterface(This,riid,ppvObject)    \
  5408.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5409.  
  5410. #define ICreateErrorInfo_AddRef(This)    \
  5411.     (This)->lpVtbl -> AddRef(This)
  5412.  
  5413. #define ICreateErrorInfo_Release(This)    \
  5414.     (This)->lpVtbl -> Release(This)
  5415.  
  5416.  
  5417. #define ICreateErrorInfo_SetGUID(This,rguid)    \
  5418.     (This)->lpVtbl -> SetGUID(This,rguid)
  5419.  
  5420. #define ICreateErrorInfo_SetSource(This,szSource)    \
  5421.     (This)->lpVtbl -> SetSource(This,szSource)
  5422.  
  5423. #define ICreateErrorInfo_SetDescription(This,szDescription)    \
  5424.     (This)->lpVtbl -> SetDescription(This,szDescription)
  5425.  
  5426. #define ICreateErrorInfo_SetHelpFile(This,szHelpFile)    \
  5427.     (This)->lpVtbl -> SetHelpFile(This,szHelpFile)
  5428.  
  5429. #define ICreateErrorInfo_SetHelpContext(This,dwHelpContext)    \
  5430.     (This)->lpVtbl -> SetHelpContext(This,dwHelpContext)
  5431.  
  5432. #endif /* COBJMACROS */
  5433.  
  5434.  
  5435. #endif     /* C style interface */
  5436.  
  5437.  
  5438.  
  5439. HRESULT STDMETHODCALLTYPE ICreateErrorInfo_SetGUID_Proxy( 
  5440.     ICreateErrorInfo __RPC_FAR * This,
  5441.     /* [in] */ REFGUID rguid);
  5442.  
  5443.  
  5444. void __RPC_STUB ICreateErrorInfo_SetGUID_Stub(
  5445.     IRpcStubBuffer *This,
  5446.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5447.     PRPC_MESSAGE _pRpcMessage,
  5448.     DWORD *_pdwStubPhase);
  5449.  
  5450.  
  5451. HRESULT STDMETHODCALLTYPE ICreateErrorInfo_SetSource_Proxy( 
  5452.     ICreateErrorInfo __RPC_FAR * This,
  5453.     /* [in] */ LPOLESTR szSource);
  5454.  
  5455.  
  5456. void __RPC_STUB ICreateErrorInfo_SetSource_Stub(
  5457.     IRpcStubBuffer *This,
  5458.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5459.     PRPC_MESSAGE _pRpcMessage,
  5460.     DWORD *_pdwStubPhase);
  5461.  
  5462.  
  5463. HRESULT STDMETHODCALLTYPE ICreateErrorInfo_SetDescription_Proxy( 
  5464.     ICreateErrorInfo __RPC_FAR * This,
  5465.     /* [in] */ LPOLESTR szDescription);
  5466.  
  5467.  
  5468. void __RPC_STUB ICreateErrorInfo_SetDescription_Stub(
  5469.     IRpcStubBuffer *This,
  5470.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5471.     PRPC_MESSAGE _pRpcMessage,
  5472.     DWORD *_pdwStubPhase);
  5473.  
  5474.  
  5475. HRESULT STDMETHODCALLTYPE ICreateErrorInfo_SetHelpFile_Proxy( 
  5476.     ICreateErrorInfo __RPC_FAR * This,
  5477.     /* [in] */ LPOLESTR szHelpFile);
  5478.  
  5479.  
  5480. void __RPC_STUB ICreateErrorInfo_SetHelpFile_Stub(
  5481.     IRpcStubBuffer *This,
  5482.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5483.     PRPC_MESSAGE _pRpcMessage,
  5484.     DWORD *_pdwStubPhase);
  5485.  
  5486.  
  5487. HRESULT STDMETHODCALLTYPE ICreateErrorInfo_SetHelpContext_Proxy( 
  5488.     ICreateErrorInfo __RPC_FAR * This,
  5489.     /* [in] */ DWORD dwHelpContext);
  5490.  
  5491.  
  5492. void __RPC_STUB ICreateErrorInfo_SetHelpContext_Stub(
  5493.     IRpcStubBuffer *This,
  5494.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5495.     PRPC_MESSAGE _pRpcMessage,
  5496.     DWORD *_pdwStubPhase);
  5497.  
  5498.  
  5499.  
  5500. #endif     /* __ICreateErrorInfo_INTERFACE_DEFINED__ */
  5501.  
  5502.  
  5503. #ifndef __ISupportErrorInfo_INTERFACE_DEFINED__
  5504. #define __ISupportErrorInfo_INTERFACE_DEFINED__
  5505.  
  5506. /****************************************
  5507.  * Generated header for interface: ISupportErrorInfo
  5508.  * at Sat Jul 13 21:56:52 1996
  5509.  * using MIDL 3.00.39
  5510.  ****************************************/
  5511. /* [unique][uuid][object] */ 
  5512.  
  5513.  
  5514. typedef /* [unique] */ ISupportErrorInfo __RPC_FAR *LPSUPPORTERRORINFO;
  5515.  
  5516.  
  5517. EXTERN_C const IID IID_ISupportErrorInfo;
  5518.  
  5519. #if defined(__cplusplus) && !defined(CINTERFACE)
  5520.     
  5521.     interface ISupportErrorInfo : public IUnknown
  5522.     {
  5523.     public:
  5524.         virtual HRESULT STDMETHODCALLTYPE InterfaceSupportsErrorInfo( 
  5525.             /* [in] */ REFIID riid) = 0;
  5526.         
  5527.     };
  5528.     
  5529. #else     /* C style interface */
  5530.  
  5531.     typedef struct ISupportErrorInfoVtbl
  5532.     {
  5533.         BEGIN_INTERFACE
  5534.         
  5535.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5536.             ISupportErrorInfo __RPC_FAR * This,
  5537.             /* [in] */ REFIID riid,
  5538.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5539.         
  5540.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5541.             ISupportErrorInfo __RPC_FAR * This);
  5542.         
  5543.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5544.             ISupportErrorInfo __RPC_FAR * This);
  5545.         
  5546.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InterfaceSupportsErrorInfo )( 
  5547.             ISupportErrorInfo __RPC_FAR * This,
  5548.             /* [in] */ REFIID riid);
  5549.         
  5550.         END_INTERFACE
  5551.     } ISupportErrorInfoVtbl;
  5552.  
  5553.     interface ISupportErrorInfo
  5554.     {
  5555.         CONST_VTBL struct ISupportErrorInfoVtbl __RPC_FAR *lpVtbl;
  5556.     };
  5557.  
  5558.     
  5559.  
  5560. #ifdef COBJMACROS
  5561.  
  5562.  
  5563. #define ISupportErrorInfo_QueryInterface(This,riid,ppvObject)    \
  5564.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5565.  
  5566. #define ISupportErrorInfo_AddRef(This)    \
  5567.     (This)->lpVtbl -> AddRef(This)
  5568.  
  5569. #define ISupportErrorInfo_Release(This)    \
  5570.     (This)->lpVtbl -> Release(This)
  5571.  
  5572.  
  5573. #define ISupportErrorInfo_InterfaceSupportsErrorInfo(This,riid)    \
  5574.     (This)->lpVtbl -> InterfaceSupportsErrorInfo(This,riid)
  5575.  
  5576. #endif /* COBJMACROS */
  5577.  
  5578.  
  5579. #endif     /* C style interface */
  5580.  
  5581.  
  5582.  
  5583. HRESULT STDMETHODCALLTYPE ISupportErrorInfo_InterfaceSupportsErrorInfo_Proxy( 
  5584.     ISupportErrorInfo __RPC_FAR * This,
  5585.     /* [in] */ REFIID riid);
  5586.  
  5587.  
  5588. void __RPC_STUB ISupportErrorInfo_InterfaceSupportsErrorInfo_Stub(
  5589.     IRpcStubBuffer *This,
  5590.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5591.     PRPC_MESSAGE _pRpcMessage,
  5592.     DWORD *_pdwStubPhase);
  5593.  
  5594.  
  5595.  
  5596. #endif     /* __ISupportErrorInfo_INTERFACE_DEFINED__ */
  5597.  
  5598.  
  5599. /* Additional Prototypes for ALL interfaces */
  5600.  
  5601. unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long __RPC_FAR *, unsigned long            , BSTR __RPC_FAR * ); 
  5602. unsigned char __RPC_FAR * __RPC_USER  BSTR_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
  5603. unsigned char __RPC_FAR * __RPC_USER  BSTR_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
  5604. void                      __RPC_USER  BSTR_UserFree(     unsigned long __RPC_FAR *, BSTR __RPC_FAR * ); 
  5605.  
  5606. unsigned long             __RPC_USER  CLEANLOCALSTORAGE_UserSize(     unsigned long __RPC_FAR *, unsigned long            , CLEANLOCALSTORAGE __RPC_FAR * ); 
  5607. unsigned char __RPC_FAR * __RPC_USER  CLEANLOCALSTORAGE_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, CLEANLOCALSTORAGE __RPC_FAR * ); 
  5608. unsigned char __RPC_FAR * __RPC_USER  CLEANLOCALSTORAGE_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, CLEANLOCALSTORAGE __RPC_FAR * ); 
  5609. void                      __RPC_USER  CLEANLOCALSTORAGE_UserFree(     unsigned long __RPC_FAR *, CLEANLOCALSTORAGE __RPC_FAR * ); 
  5610.  
  5611. unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long __RPC_FAR *, unsigned long            , VARIANT __RPC_FAR * ); 
  5612. unsigned char __RPC_FAR * __RPC_USER  VARIANT_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, VARIANT __RPC_FAR * ); 
  5613. unsigned char __RPC_FAR * __RPC_USER  VARIANT_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, VARIANT __RPC_FAR * ); 
  5614. void                      __RPC_USER  VARIANT_UserFree(     unsigned long __RPC_FAR *, VARIANT __RPC_FAR * ); 
  5615.  
  5616. /* [local] */ HRESULT STDMETHODCALLTYPE IDispatch_Invoke_Proxy( 
  5617.     IDispatch __RPC_FAR * This,
  5618.     /* [in] */ DISPID dispIdMember,
  5619.     /* [in] */ REFIID riid,
  5620.     /* [in] */ LCID lcid,
  5621.     /* [in] */ WORD wFlags,
  5622.     /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  5623.     /* [out] */ VARIANT __RPC_FAR *pVarResult,
  5624.     /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  5625.     /* [out] */ UINT __RPC_FAR *puArgErr);
  5626.  
  5627.  
  5628. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDispatch_Invoke_Stub( 
  5629.     IDispatch __RPC_FAR * This,
  5630.     /* [in] */ DISPID dispIdMember,
  5631.     /* [in] */ REFIID riid,
  5632.     /* [in] */ LCID lcid,
  5633.     /* [in] */ DWORD dwFlags,
  5634.     /* [in] */ DISPPARAMS __RPC_FAR *pDispParams,
  5635.     /* [out] */ VARIANT __RPC_FAR *pVarResult,
  5636.     /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  5637.     /* [out] */ UINT __RPC_FAR *pArgErr,
  5638.     /* [in] */ UINT cVarRef,
  5639.     /* [size_is][in] */ UINT __RPC_FAR *rgVarRefIdx,
  5640.     /* [size_is][out][in] */ VARIANTARG __RPC_FAR *rgVarRef);
  5641.  
  5642. /* [local] */ HRESULT STDMETHODCALLTYPE IEnumVARIANT_Next_Proxy( 
  5643.     IEnumVARIANT __RPC_FAR * This,
  5644.     /* [in] */ ULONG celt,
  5645.     /* [length_is][size_is][out] */ VARIANT __RPC_FAR *rgVar,
  5646.     /* [out] */ ULONG __RPC_FAR *pCeltFetched);
  5647.  
  5648.  
  5649. /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumVARIANT_Next_Stub( 
  5650.     IEnumVARIANT __RPC_FAR * This,
  5651.     /* [in] */ ULONG celt,
  5652.     /* [length_is][size_is][out] */ VARIANT __RPC_FAR *rgVar,
  5653.     /* [out] */ ULONG __RPC_FAR *pCeltFetched);
  5654.  
  5655. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeComp_Bind_Proxy( 
  5656.     ITypeComp __RPC_FAR * This,
  5657.     /* [in] */ LPOLESTR szName,
  5658.     /* [in] */ ULONG lHashVal,
  5659.     /* [in] */ WORD wFlags,
  5660.     /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo,
  5661.     /* [out] */ DESCKIND __RPC_FAR *pDescKind,
  5662.     /* [out] */ BINDPTR __RPC_FAR *pBindPtr);
  5663.  
  5664.  
  5665. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeComp_Bind_Stub( 
  5666.     ITypeComp __RPC_FAR * This,
  5667.     /* [in] */ LPOLESTR szName,
  5668.     /* [in] */ ULONG lHashVal,
  5669.     /* [in] */ WORD wFlags,
  5670.     /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo,
  5671.     /* [out] */ DESCKIND __RPC_FAR *pDescKind,
  5672.     /* [out] */ LPFUNCDESC __RPC_FAR *ppFuncDesc,
  5673.     /* [out] */ LPVARDESC __RPC_FAR *ppVarDesc,
  5674.     /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *ppTypeComp,
  5675.     /* [out] */ CLEANLOCALSTORAGE __RPC_FAR *pDummy);
  5676.  
  5677. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeComp_BindType_Proxy( 
  5678.     ITypeComp __RPC_FAR * This,
  5679.     /* [in] */ LPOLESTR szName,
  5680.     /* [in] */ ULONG lHashVal,
  5681.     /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo,
  5682.     /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *ppTComp);
  5683.  
  5684.  
  5685. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeComp_BindType_Stub( 
  5686.     ITypeComp __RPC_FAR * This,
  5687.     /* [in] */ LPOLESTR szName,
  5688.     /* [in] */ ULONG lHashVal,
  5689.     /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  5690.  
  5691. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetTypeAttr_Proxy( 
  5692.     ITypeInfo __RPC_FAR * This,
  5693.     /* [out] */ TYPEATTR __RPC_FAR *__RPC_FAR *ppTypeAttr);
  5694.  
  5695.  
  5696. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetTypeAttr_Stub( 
  5697.     ITypeInfo __RPC_FAR * This,
  5698.     /* [out] */ LPTYPEATTR __RPC_FAR *ppTypeAttr,
  5699.     /* [out] */ CLEANLOCALSTORAGE __RPC_FAR *pDummy);
  5700.  
  5701. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetFuncDesc_Proxy( 
  5702.     ITypeInfo __RPC_FAR * This,
  5703.     /* [in] */ UINT index,
  5704.     /* [out] */ FUNCDESC __RPC_FAR *__RPC_FAR *ppFuncDesc);
  5705.  
  5706.  
  5707. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetFuncDesc_Stub( 
  5708.     ITypeInfo __RPC_FAR * This,
  5709.     /* [in] */ UINT index,
  5710.     /* [out] */ LPFUNCDESC __RPC_FAR *ppFuncDesc,
  5711.     /* [out] */ CLEANLOCALSTORAGE __RPC_FAR *pDummy);
  5712.  
  5713. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetVarDesc_Proxy( 
  5714.     ITypeInfo __RPC_FAR * This,
  5715.     /* [in] */ UINT index,
  5716.     /* [out] */ VARDESC __RPC_FAR *__RPC_FAR *ppVarDesc);
  5717.  
  5718.  
  5719. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetVarDesc_Stub( 
  5720.     ITypeInfo __RPC_FAR * This,
  5721.     /* [in] */ UINT index,
  5722.     /* [out] */ LPVARDESC __RPC_FAR *ppVarDesc,
  5723.     /* [out] */ CLEANLOCALSTORAGE __RPC_FAR *pDummy);
  5724.  
  5725. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetNames_Proxy( 
  5726.     ITypeInfo __RPC_FAR * This,
  5727.     /* [in] */ MEMBERID memid,
  5728.     /* [length_is][size_is][out] */ BSTR __RPC_FAR *rgBstrNames,
  5729.     /* [in] */ UINT cMaxNames,
  5730.     /* [out] */ UINT __RPC_FAR *pcNames);
  5731.  
  5732.  
  5733. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetNames_Stub( 
  5734.     ITypeInfo __RPC_FAR * This,
  5735.     /* [in] */ MEMBERID memid,
  5736.     /* [length_is][size_is][out] */ BSTR __RPC_FAR *rgBstrNames,
  5737.     /* [in] */ UINT cMaxNames,
  5738.     /* [out] */ UINT __RPC_FAR *pcNames);
  5739.  
  5740. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo_Invoke_Proxy( 
  5741.     ITypeInfo __RPC_FAR * This,
  5742.     /* [in] */ PVOID pvInstance,
  5743.     /* [in] */ MEMBERID memid,
  5744.     /* [in] */ WORD wFlags,
  5745.     /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  5746.     /* [out] */ VARIANT __RPC_FAR *pVarResult,
  5747.     /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  5748.     /* [out] */ UINT __RPC_FAR *puArgErr);
  5749.  
  5750.  
  5751. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_Invoke_Stub( 
  5752.     ITypeInfo __RPC_FAR * This,
  5753.     /* [in] */ IUnknown __RPC_FAR *pIUnk,
  5754.     /* [in] */ MEMBERID memid,
  5755.     /* [in] */ DWORD dwFlags,
  5756.     /* [in] */ DISPPARAMS __RPC_FAR *pDispParams,
  5757.     /* [out] */ VARIANT __RPC_FAR *pVarResult,
  5758.     /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  5759.     /* [out] */ UINT __RPC_FAR *pArgErr,
  5760.     /* [in] */ UINT cVarRef,
  5761.     /* [size_is][in] */ UINT __RPC_FAR *rgVarRefIdx,
  5762.     /* [size_is][out][in] */ VARIANTARG __RPC_FAR *rgVarRef);
  5763.  
  5764. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetDocumentation_Proxy( 
  5765.     ITypeInfo __RPC_FAR * This,
  5766.     /* [in] */ MEMBERID memid,
  5767.     /* [out] */ BSTR __RPC_FAR *pBstrName,
  5768.     /* [out] */ BSTR __RPC_FAR *pBstrDocString,
  5769.     /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
  5770.     /* [out] */ BSTR __RPC_FAR *pBstrHelpFile);
  5771.  
  5772.  
  5773. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetDocumentation_Stub( 
  5774.     ITypeInfo __RPC_FAR * This,
  5775.     /* [in] */ MEMBERID memid,
  5776.     /* [in] */ DWORD refPtrFlags,
  5777.     /* [out] */ BSTR __RPC_FAR *pBstrName,
  5778.     /* [out] */ BSTR __RPC_FAR *pBstrDocString,
  5779.     /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
  5780.     /* [out] */ BSTR __RPC_FAR *pBstrHelpFile);
  5781.  
  5782. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetDllEntry_Proxy( 
  5783.     ITypeInfo __RPC_FAR * This,
  5784.     /* [in] */ MEMBERID memid,
  5785.     /* [in] */ INVOKEKIND invKind,
  5786.     /* [out] */ BSTR __RPC_FAR *pBstrDllName,
  5787.     /* [out] */ BSTR __RPC_FAR *pBstrName,
  5788.     /* [out] */ WORD __RPC_FAR *pwOrdinal);
  5789.  
  5790.  
  5791. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetDllEntry_Stub( 
  5792.     ITypeInfo __RPC_FAR * This,
  5793.     /* [in] */ MEMBERID memid,
  5794.     /* [in] */ INVOKEKIND invKind,
  5795.     /* [in] */ DWORD refPtrFlags,
  5796.     /* [out] */ BSTR __RPC_FAR *pBstrDllName,
  5797.     /* [out] */ BSTR __RPC_FAR *pBstrName,
  5798.     /* [out] */ WORD __RPC_FAR *pwOrdinal);
  5799.  
  5800. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo_AddressOfMember_Proxy( 
  5801.     ITypeInfo __RPC_FAR * This,
  5802.     /* [in] */ MEMBERID memid,
  5803.     /* [in] */ INVOKEKIND invKind,
  5804.     /* [out] */ PVOID __RPC_FAR *ppv);
  5805.  
  5806.  
  5807. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_AddressOfMember_Stub( 
  5808.     ITypeInfo __RPC_FAR * This);
  5809.  
  5810. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo_CreateInstance_Proxy( 
  5811.     ITypeInfo __RPC_FAR * This,
  5812.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  5813.     /* [in] */ REFIID riid,
  5814.     /* [iid_is][out] */ PVOID __RPC_FAR *ppvObj);
  5815.  
  5816.  
  5817. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_CreateInstance_Stub( 
  5818.     ITypeInfo __RPC_FAR * This,
  5819.     /* [in] */ REFIID riid,
  5820.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObj);
  5821.  
  5822. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetContainingTypeLib_Proxy( 
  5823.     ITypeInfo __RPC_FAR * This,
  5824.     /* [out] */ ITypeLib __RPC_FAR *__RPC_FAR *ppTLib,
  5825.     /* [out] */ UINT __RPC_FAR *pIndex);
  5826.  
  5827.  
  5828. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetContainingTypeLib_Stub( 
  5829.     ITypeInfo __RPC_FAR * This,
  5830.     /* [out] */ ITypeLib __RPC_FAR *__RPC_FAR *ppTLib,
  5831.     /* [out] */ UINT __RPC_FAR *pIndex);
  5832.  
  5833. /* [local] */ void STDMETHODCALLTYPE ITypeInfo_ReleaseTypeAttr_Proxy( 
  5834.     ITypeInfo __RPC_FAR * This,
  5835.     /* [in] */ TYPEATTR __RPC_FAR *pTypeAttr);
  5836.  
  5837.  
  5838. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_ReleaseTypeAttr_Stub( 
  5839.     ITypeInfo __RPC_FAR * This);
  5840.  
  5841. /* [local] */ void STDMETHODCALLTYPE ITypeInfo_ReleaseFuncDesc_Proxy( 
  5842.     ITypeInfo __RPC_FAR * This,
  5843.     /* [in] */ FUNCDESC __RPC_FAR *pFuncDesc);
  5844.  
  5845.  
  5846. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_ReleaseFuncDesc_Stub( 
  5847.     ITypeInfo __RPC_FAR * This);
  5848.  
  5849. /* [local] */ void STDMETHODCALLTYPE ITypeInfo_ReleaseVarDesc_Proxy( 
  5850.     ITypeInfo __RPC_FAR * This,
  5851.     /* [in] */ VARDESC __RPC_FAR *pVarDesc);
  5852.  
  5853.  
  5854. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_ReleaseVarDesc_Stub( 
  5855.     ITypeInfo __RPC_FAR * This);
  5856.  
  5857. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo2_GetDocumentation2_Proxy( 
  5858.     ITypeInfo2 __RPC_FAR * This,
  5859.     /* [in] */ MEMBERID memid,
  5860.     /* [in] */ LCID lcid,
  5861.     /* [out] */ BSTR __RPC_FAR *pbstrHelpString,
  5862.     /* [out] */ DWORD __RPC_FAR *pdwHelpStringContext,
  5863.     /* [out] */ BSTR __RPC_FAR *pbstrHelpStringDll);
  5864.  
  5865.  
  5866. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo2_GetDocumentation2_Stub( 
  5867.     ITypeInfo2 __RPC_FAR * This,
  5868.     /* [in] */ MEMBERID memid,
  5869.     /* [in] */ LCID lcid,
  5870.     /* [in] */ DWORD refPtrFlags,
  5871.     /* [out] */ BSTR __RPC_FAR *pbstrHelpString,
  5872.     /* [out] */ DWORD __RPC_FAR *pdwHelpStringContext,
  5873.     /* [out] */ BSTR __RPC_FAR *pbstrHelpStringDll);
  5874.  
  5875. /* [local] */ UINT STDMETHODCALLTYPE ITypeLib_GetTypeInfoCount_Proxy( 
  5876.     ITypeLib __RPC_FAR * This);
  5877.  
  5878.  
  5879. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_GetTypeInfoCount_Stub( 
  5880.     ITypeLib __RPC_FAR * This,
  5881.     /* [out] */ UINT __RPC_FAR *pcTInfo);
  5882.  
  5883. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeLib_GetLibAttr_Proxy( 
  5884.     ITypeLib __RPC_FAR * This,
  5885.     /* [out] */ TLIBATTR __RPC_FAR *__RPC_FAR *ppTLibAttr);
  5886.  
  5887.  
  5888. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_GetLibAttr_Stub( 
  5889.     ITypeLib __RPC_FAR * This,
  5890.     /* [out] */ LPTLIBATTR __RPC_FAR *ppTLibAttr,
  5891.     /* [out] */ CLEANLOCALSTORAGE __RPC_FAR *pDummy);
  5892.  
  5893. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeLib_GetDocumentation_Proxy( 
  5894.     ITypeLib __RPC_FAR * This,
  5895.     /* [in] */ INT index,
  5896.     /* [out] */ BSTR __RPC_FAR *pBstrName,
  5897.     /* [out] */ BSTR __RPC_FAR *pBstrDocString,
  5898.     /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
  5899.     /* [out] */ BSTR __RPC_FAR *pBstrHelpFile);
  5900.  
  5901.  
  5902. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_GetDocumentation_Stub( 
  5903.     ITypeLib __RPC_FAR * This,
  5904.     /* [in] */ INT index,
  5905.     /* [in] */ DWORD refPtrFlags,
  5906.     /* [out] */ BSTR __RPC_FAR *pBstrName,
  5907.     /* [out] */ BSTR __RPC_FAR *pBstrDocString,
  5908.     /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
  5909.     /* [out] */ BSTR __RPC_FAR *pBstrHelpFile);
  5910.  
  5911. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeLib_IsName_Proxy( 
  5912.     ITypeLib __RPC_FAR * This,
  5913.     /* [out][in] */ LPOLESTR szNameBuf,
  5914.     /* [in] */ ULONG lHashVal,
  5915.     /* [out] */ BOOL __RPC_FAR *pfName);
  5916.  
  5917.  
  5918. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_IsName_Stub( 
  5919.     ITypeLib __RPC_FAR * This,
  5920.     /* [in] */ LPOLESTR szNameBuf,
  5921.     /* [in] */ ULONG lHashVal,
  5922.     /* [out] */ BOOL __RPC_FAR *pfName,
  5923.     /* [out] */ BSTR __RPC_FAR *pBstrLibName);
  5924.  
  5925. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeLib_FindName_Proxy( 
  5926.     ITypeLib __RPC_FAR * This,
  5927.     /* [out][in] */ LPOLESTR szNameBuf,
  5928.     /* [in] */ ULONG lHashVal,
  5929.     /* [length_is][size_is][out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo,
  5930.     /* [length_is][size_is][out] */ MEMBERID __RPC_FAR *rgMemId,
  5931.     /* [out][in] */ USHORT __RPC_FAR *pcFound);
  5932.  
  5933.  
  5934. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_FindName_Stub( 
  5935.     ITypeLib __RPC_FAR * This,
  5936.     /* [in] */ LPOLESTR szNameBuf,
  5937.     /* [in] */ ULONG lHashVal,
  5938.     /* [length_is][size_is][out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo,
  5939.     /* [length_is][size_is][out] */ MEMBERID __RPC_FAR *rgMemId,
  5940.     /* [out][in] */ USHORT __RPC_FAR *pcFound,
  5941.     /* [out] */ BSTR __RPC_FAR *pBstrLibName);
  5942.  
  5943. /* [local] */ void STDMETHODCALLTYPE ITypeLib_ReleaseTLibAttr_Proxy( 
  5944.     ITypeLib __RPC_FAR * This,
  5945.     /* [in] */ TLIBATTR __RPC_FAR *pTLibAttr);
  5946.  
  5947.  
  5948. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_ReleaseTLibAttr_Stub( 
  5949.     ITypeLib __RPC_FAR * This);
  5950.  
  5951. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeLib2_GetLibStatistics_Proxy( 
  5952.     ITypeLib2 __RPC_FAR * This,
  5953.     /* [out] */ ULONG __RPC_FAR *pcUniqueNames,
  5954.     /* [out] */ ULONG __RPC_FAR *pcchUniqueNames);
  5955.  
  5956.  
  5957. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib2_GetLibStatistics_Stub( 
  5958.     ITypeLib2 __RPC_FAR * This,
  5959.     /* [out] */ ULONG __RPC_FAR *pcUniqueNames,
  5960.     /* [out] */ ULONG __RPC_FAR *pcchUniqueNames);
  5961.  
  5962. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeLib2_GetDocumentation2_Proxy( 
  5963.     ITypeLib2 __RPC_FAR * This,
  5964.     /* [in] */ INT index,
  5965.     /* [in] */ LCID lcid,
  5966.     /* [out] */ BSTR __RPC_FAR *pbstrHelpString,
  5967.     /* [out] */ DWORD __RPC_FAR *pdwHelpStringContext,
  5968.     /* [out] */ BSTR __RPC_FAR *pbstrHelpStringDll);
  5969.  
  5970.  
  5971. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib2_GetDocumentation2_Stub( 
  5972.     ITypeLib2 __RPC_FAR * This,
  5973.     /* [in] */ INT index,
  5974.     /* [in] */ LCID lcid,
  5975.     /* [in] */ DWORD refPtrFlags,
  5976.     /* [out] */ BSTR __RPC_FAR *pbstrHelpString,
  5977.     /* [out] */ DWORD __RPC_FAR *pdwHelpStringContext,
  5978.     /* [out] */ BSTR __RPC_FAR *pbstrHelpStringDll);
  5979.  
  5980.  
  5981.  
  5982. /* end of Additional Prototypes */
  5983.  
  5984. #ifdef __cplusplus
  5985. }
  5986. #endif
  5987.  
  5988. #endif
  5989. #pragma option -b.
  5990.